Fullcalendar会在一天后设置所有活动

时间:2014-10-31 13:15:48

标签: fullcalendar

我按如下方式调用fullCalendar方法:

<script type="text/javascript">
        $(document).ready(function() {

            $('#calendar').fullCalendar({
                firstDay: 1,
                eventLimit: true, // allow "more" link when too many events
                events: [{title":"Matthias Klein","start":"01-01-2014","end":"01-01-2015"},{"title":"Matthias Klein","start":"01-01-2014","end":"02-01-2014"},{"title":"Matthias Klein","start":"01-01-2014","end":"01-01-2014"}]
            });

        });

但结果所有事件在前一天开始和结束时间为2:46a:

see Image

我做错了什么?

3 个答案:

答案 0 :(得分:2)

很少,

尝试将您的活动的日期格式更改为yyyy-mm-dd我昨晚遇到此问题,我的活动全部在前一天下午4点30分显示,并为我修复了这个问题。

还注意到你的日期没有时间,所以它们是否全日活动?如果是这样,请确保将allDay属性设置为true。

最后一件事,firstDay表示星期几,所以如果星期一是0则星期二是1.这并不意味着该月的第一天。

答案 1 :(得分:0)

另一种解决方法:使用nextDayThreshold参数

$('#calendar').fullCalendar({
       **nextDayThreshold**: '00:00:00', // 9am

nextDayThreshold设置它必须呈现的最短时间,就好像它在当天一样呈现。

答案 2 :(得分:0)

我遇到了同样的问题,只能按照demo page ...

上给出的确切日期格式解决它

yyyy-MM-ddTHH:mm:ss(例如, 2019-05-08T16:00:00 今天是4点)

yyyy-MM-dd(例如,今天是 2019-05-08

换句话说,美国日期格式加上24小时制。

不幸的是,nextDayThreshold似乎存在一个错误。如果将其设置为00:00:00(默认值),则此时结束的事件将显示为前一天结束,这与文档相矛盾。此外,跨越一天以上的allDay=true事件将始终显示为在前一天结束。

这是我的完整代码...

addEvents = [];

addEvents.push({
    title: "First Event",
    url: "http://localhost:11634/events/141",
    start: '2019-05-19T09:00:00',
    end: '2019-05-19T13:00:00'});   

addEvents.push({
    title: "Second Event",
    url: "http://localhost:11634/events/137",
    start: '2019-11-02',
    end: '2019-11-02'});         

addEvents.push({
    title: "Third, multi-day event",
    url: "http://localhost:11634/events/115",
    start: '2019-11-08T00:00:00',
    end: '2019-11-10T01:00:00'});

document.addEventListener('DOMContentLoaded', function () {
    var calendarEl = document.getElementById('calendar');
    var calendar = new FullCalendar.Calendar(calendarEl, {
        plugins: ['dayGrid'],
        events: addEvents
    });
    calendar.render();
});