fullCalendar的24小时时间格式(所以没有AM到PM)

Maa*_*man 29 time jquery fullcalendar

我正在尝试在fullCalendar中显示24小时时间格式,我正在尝试使用这些说明:http://arshaw.com/fullcalendar/docs/text/timeFormat/

所以我补充道

timeFormat: {
    agenda: 'H(:mm)' //h:mm{ - h:mm}'
    },
Run Code Online (Sandbox Code Playgroud)

到json.php:

$(document).ready(function() {

    $('#calendar').fullCalendar({

    header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay'
        },

        editable: true,
        allDayDefault: false,
        events: "core/displays/calendar/json-events.php", 
        defaultView: 'agendaDay',
        timeFormat: {
    agenda: 'H(:mm)' //h:mm{ - h:mm}'
    },


        eventDrop: function(event, delta) {
            alert(event.title + ' was moved ' + delta + ' days\n' +
                '(should probably update your database)');
        },
                eventClick: function(calEvent, jsEvent, view) {     

               window.location = "details_view.php?id=" + calEvent.id;


    },

        loading: function(bool) {
            if (bool) $('#loading').show();
            else $('#loading').hide();
        }


    });

});
Run Code Online (Sandbox Code Playgroud)

但这没用,所以我添加到fullCalendar.js

// time formats
titleFormat: {
    month: 'MMMM yyyy',
    week: "MMM d[ yyyy]{ '—'[ MMM] d yyyy}",
    day: 'dddd, MMM d, yyyy'
},
columnFormat: {
    month: 'ddd',
    week: 'ddd M/d',
    day: 'dddd M/d'
},
axisFormat: 'H(:mm)', //,'h(:mm)tt',
timeFormat: {
    agenda: 'H(:mm)' //h:mm{ - h:mm}'
    },
// locale
Run Code Online (Sandbox Code Playgroud)

但这也不起作用,我做错了什么?

小智 52

您希望将布局设置为24小时制或事件.

如果你想添加到事件中,请像22:00'party'那样将timeFormat:'H:mm'添加到你的json.php文件中.

eventDrop: function (event, delta) {
        alert(event.title + ' was moved ' + delta + ' days\n' +
            '(should probably update your database)');
},
timeFormat: 'H:mm',
Run Code Online (Sandbox Code Playgroud)

如果您想更改日历的布局,请转到fullCalendar.js

抬头:

setDefaults

并改变您的代码,如下所示.

setDefaults({
    allDaySlot: true,
    allDayText: 'Volledige dag',
    firstHour: 8,
    slotMinutes: 30,
    defaultEventMinutes: 120,
    axisFormat: 'HH:mm',
    timeFormat: {
        agenda: 'H:mm{ - h:mm}'
    },
    dragOpacity: {
        agenda: .5
    },
    minTime: 0,
    maxTime: 24
});
Run Code Online (Sandbox Code Playgroud)


Eka*_*eva 29

此选项现在适用于fullCalendar v2:

slotLabelFormat:"HH:mm"
Run Code Online (Sandbox Code Playgroud)

http://fullcalendar.io/docs/agenda/slotLabelFormat/

  • v5.10.2 版本的 `slotLabelFormat: {hour: 'numeric', 分钟: '2-digit', hour12: false}` (2认同)

小智 11

我使用的是 4.2.0 版,它在活动结束时使用了这个:

      {
      title: 'Birthday Party',
      start: '2019-06-13T07:00:00',
      eventBackgroundColor: '#ff0000',
      allDay:false
      }

  ],
  eventTimeFormat: { 
    hour: '2-digit',
    minute: '2-digit',
    hour12:false
}

});
Run Code Online (Sandbox Code Playgroud)


小智 10

从 fullCalendar.io 版本 4 开始,根据您希望更改格式的位置,以下列形式使用eventTimeFormattitleFormatcolumnHeaderFormatslotLabelFormat(时间网格中的轴的最后一个):

eventTimeFormat: {
  hour: '2-digit', //2-digit, numeric
  minute: '2-digit', //2-digit, numeric
  second: '2-digit', //2-digit, numeric
  meridiem: false, //lowercase, short, narrow, false (display of AM/PM)
  hour12: false //true, false
}
Run Code Online (Sandbox Code Playgroud)

注释显示值选项。

更多参考:https : //fullcalendar.io/docs/date-formatting


小智 9

如果您想在24小时搜索中更改月视图并在fullcalendar.js中更改,请执行以下操作:

var dateFormatters = {
    s   : function(d)   { return d.getSeconds() },
    ss  : function(d)   { return zeroPad(d.getSeconds()) },
    m   : function(d)   { return d.getMinutes() },
    mm  : function(d)   { return zeroPad(d.getMinutes()) },
    h   : function(d)   { return d.getHours() % 24 || 24 },             //modificato : era 12 al posto di 24
    hh  : function(d)   { return zeroPad(d.getHours() % 24 || 24) },    //modificato : era 12 al posto di 24
    H   : function(d)   { return d.getHours() },
    HH  : function(d)   { return zeroPad(d.getHours()) },
    d   : function(d)   { return d.getDate() },
    dd  : function(d)   { return zeroPad(d.getDate()) },
    ddd : function(d,o) { return o.dayNamesShort[d.getDay()] },
    dddd: function(d,o) { return o.dayNames[d.getDay()] },
    M   : function(d)   { return d.getMonth() + 1 },
    MM  : function(d)   { return zeroPad(d.getMonth() + 1) },
    MMM : function(d,o) { return o.monthNamesShort[d.getMonth()] },
    MMMM: function(d,o) { return o.monthNames[d.getMonth()] },
    yy  : function(d)   { return (d.getFullYear()+'').substring(2) },
    yyyy: function(d)   { return d.getFullYear() },
    //t : function(d)   { return d.getHours() < 12 ? 'a' : 'p' },
    //tt    : function(d)   { return d.getHours() < 12 ? 'am' : 'pm' },
    //T : function(d)   { return d.getHours() < 12 ? 'A' : 'P' },
    //TT    : function(d)   { return d.getHours() < 12 ? 'AM' : 'PM' },
    t   : function(d)   { return d.getMinutes() == 0 ? ':00' : '' },
    tt  : function(d)   { return d.getHours() < 12 ? '' : '' },
    T   : function(d)   { return d.getHours() < 12 ? '' : '' },
    TT  : function(d)   { return d.getHours() < 12 ? '' : '' },
    u   : function(d)   { return formatDate(d, "yyyy-MM-dd'T'HH:mm:ss'Z'") },
    S   : function(d)   {
        var date = d.getDate();
        if (date > 10 && date < 20) {
            return 'th';
        }
        return ['st', 'nd', 'rd'][date%10-1] || 'th';
    }
};
Run Code Online (Sandbox Code Playgroud)


小智 7

最受好评的答案适用于旧版本。对于较新的版本,在 中添加另一个变量SetDefaults

slotLabelFormat:'H(:mm)',
Run Code Online (Sandbox Code Playgroud)

这应该适用于较新的版本(2018),例如 FullCalendar v3.9.0


ddu*_*uft 7

使用 v.4,我需要这样的东西才能实现 24 小时格式:

slotLabelFormat: {hour: 'numeric', minute: '2-digit', hour12: false}
Run Code Online (Sandbox Code Playgroud)