带有Gcal的FullCalendar将不会在basicDay视图中的晚上7点之后显示事件

时间:2010-08-24 03:13:50

标签: fullcalendar gcal

由于某种原因,fullcalendar不会在basicDay视图中显示7PM之后发生的任何事件。 事件显示在月视图中,但不显示在basicDay视图中。

任何想法都会受到赞赏。

这是我的代码。我在同一页面上有两个日历。第一个是月视图,第二个是basicDay视图。

  $(document).ready(function() {

  // page is now ready, initialize the calendar...

  $('#calendar').fullCalendar({
   weekMode:'variable',
   events: $.fullCalendar.gcalFeed(
    "http://www.google.com/calendar/feeds/google_account/public/basic"
   ),
   eventClick: function(event) {
    if (event.url) {
     window.open(event.url,"_blank","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=750, height=450");
     return false;
    }
   }
  });

  $('#calendar_min').fullCalendar({
   height:193,
   header:false,
      defaultView: 'basicDay',
   events: $.fullCalendar.gcalFeed(
    "http://www.google.com/calendar/feeds/google_account/public/basic"
   ),
   eventClick: function(event) {
    if (event.url) {
     window.open(event.url,"_blank","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=750, height=450");
     return false;
    }
   }
  });
 });

3 个答案:

答案 0 :(得分:1)

这是因为您位于美国东部时间。创建新活动时,时间是格林尼治标准时间上午12:00,所以-5小时=晚上7点。您可能希望在http://arshaw.com/fullcalendar/docs/event_data/

处使用ignoreTimezone

答案 1 :(得分:0)

你得到什么错误?当我在晚上7点之后用一个事件替换你的谷歌饲料时它显示正常。 (虽然你的例子有额外的)};需要删除。

       $('#calendar_min').fullCalendar({
            height: 193,
            header: false,
            defaultView: 'basicDay',
            events: [
            {
                title: 'Day',
                start: new Date(y, m, d, 20),
                end: new Date(y, m, d, 21),
                description: 'long description3',
                id: 2
            }],
            eventClick: function(event) {
                if (event.url) {
                    window.open(event.url, "_blank", "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=750, height=450");
                    return false;
                }
            }
        });

答案 2 :(得分:0)

我有类似的问题。 Google日历时区为EDT,显示屏中缺少最后4小时的活动。

我更改了fullcalendar.js中的fetchAndRenderEvents()(第849行)来解决问题。

是:

function fetchAndRenderEvents() {
        fetchEvents(currentView.start, currentView.end);
            // ... will call reportEvents
            // ... which will call renderEvents
    }

我在currentView.end

中添加了一天
function fetchAndRenderEvents() {
    // Add 1 day to end to ensure all events are fetched  when the time zone is applied.
    fetchEvents(currentView.start, currentView.end.add(1, 'days'));
        // ... will call reportEvents
        // ... which will call renderEvents
}