FullCalendar不尊重指定的时区



我试图在美国/new_york时间展示一个事件。我可以弹出一个弹出窗口以显示正确的日期/时间,但是FullCalendar无论我的设置如何,都可以修改本地时区的起点和结束。

举例来说,我有一个6月30日凌晨12点的活动,当我将本地时区调整到中央时间时,我在控制台中看到"启动"已修改为6月29日晚上11点。想法?谢谢!

function(result, event){
 if (event.status) {
  var rightNow  = moment.tz("America/New_York");
  $.each(result,function(){
    this.start = moment.tz(this.Event_Time__c, "America/New_York");
    this.StartDate = this.start;
    this.end = moment.tz(this.Event_Time__c, "America/New_York");
    this.EndDate = this.end;
    this.Status = this.Event_Display_Status__c;
    var day = moment.tz(this.Event_Time__c, "America/New_York").format("DD");
    var isWeekend = (day == 6) || (day == 0);    // 6 = Saturday, 0 = Sunday
    var isPast = (rightNow > moment.tz(this.Event_Time__c, "America/New_York"));
    this.isPast = isPast;
    if ( isPast ) {
        this.Event_Display_Status__c = 'Event Passed';
        this.Status = 'Event Passed';
    }
    resultOut.push(this);
  });
  initFullCalendar(resultOut);
 }
 else{
   alert(event.message);
 } 
}
function initFullCalendar(calendarEntries){
    $('#calendarx').empty();
    $('#calendarx').fullCalendar({
        timezone: 'America/New_York',
        editable: false,
        weekends: true,
        eventSources: [{
                events: calendarEntries
        }] 
    });
}

在您的初始化中,设置以下选项:

{ timezone: "local" }

这并不意味着计算机本地,而是指提供的日期对象的本地。

在进来的数据中,设置确保偏移量如下:

{ title: "event1", start: "2017-06-28T15:00:00-04:00" }

对于 America/new_york 它应该为-04:00或-05:00取决于日光节省和确切位置。

另一个技巧是提供一个没有任何偏移的日期(" 2017-06-28T15:00:00"(,然后将您的时区INI选项设置为:

{ timezone: "America/New_York" }

请参见更多信息:https://fullcalendar.io/docs/timezone/timezone/

相关内容

  • 没有找到相关文章

最新更新