2

我正在尝试将日历行中的时间格式设置为下午 1 点 - 下午 2 点、下午 2 点 - 下午 3 点、下午 3 点 - 下午 4 点等。

我尝试了以下方法:

agenda: 'h:mm{ - h:mm}',
axisFormat: 'h:mm{ - h:mm}',  
day: 'h:mm{ - h:mm}', 
axisFormat: 'h(:mm)tt', 
timeFormat: {
    agenda: 'h:mm{ - h:mm}'
},

但以上任何一项,无论是单独还是组合,似乎都对我有用。

我初始化我的日历如下:

  $('#calendar').fullCalendar({
    defaultView: 'agendaDay',
    allDaySlot: false,
    firstHour: 9,
    minTime: 9,
    maxTime: 19,
    selectable: true,
    unselectAuto: true,
    slotMinutes: 60,
    weekends: false,
    year: current_year,
    month: current_month,
    date: current_day,
    columnFormat: '',
4

1 回答 1

4

FullCalendar 不提供“到”时间,axisFormat因此您的{ - h:mm}部分将axisFormat被忽略。

而且我认为不编辑 FullCalendar 源代码就没有任何办法。

但是,如果您喜欢冒险,您可以在fullcalendar.js3207 行左右进行以下更改:

    d = zeroDate();
    maxd = addMinutes(cloneDate(d), maxMinute);
    addMinutes(d, minMinute);

    // Add two lines
    var toD = cloneDate(d);
    addMinutes(toD, opt('slotMinutes'));

    slotCnt = 0;
    for (i=0; d < maxd; i++) {
        minutes = d.getMinutes();
        s +=
            "<tr class='fc-slot" + i + ' ' + (!minutes ? '' : 'fc-minor') + "'>" +
            "<th class='fc-agenda-axis " + headerClass + "'>" +

            // Changed line from "formatDate(d, opt('axisFormat')...)" to "formatDates(d, toD, opt('axisFormat')...)"
            ((!slotNormal || !minutes) ? formatDates(d, toD, opt('axisFormat')) : '&nbsp;') +

            "</th>" +
            "<td class='" + contentClass + "'>" +
            "<div style='position:relative'>&nbsp;</div>" +
            "</td>" +
            "</tr>";
        addMinutes(d, opt('slotMinutes'));

        // Add line
        addMinutes(toD, opt('slotMinutes'));

        slotCnt++;
    }
于 2013-07-09T11:43:09.720 回答