阿尔肖时区问题



我使用的是Arshaw fullcalendar插件1.5.3版本,

问题是,我在上午9点用本地机器时区EST(东部时间)创建了一个事件,当我将本地机器时区更改为IST时,该事件会出现在日历中的不同时间7:30。

它适用于东部时区,如果更改,记录就会出现在错误的时间。

请帮助我尝试将ignoreTimezone初始化为false并更新了版本,但似乎没有任何帮助。

// initialize the fullcalendar and set ignore timezone to false 
$(document).ready(function() {
$('#calendar').fullCalendar({
events: {
url: 'http://www.google.com/your_feed_url/',
className: 'gcal-event',           // an option!
currentTimezone: 'America/Chicago' // an option!
},
ignoreTimezone: false 
});
});  
/* Passing the event to fullcalendar to display the slots in calendar properly 
It accepts the start and end time in timestamp */
event.id = appId;
event.start = startTime;    // 1389358800 timestamp
event.end = endTime;        // 1389359700 timestamp
event.editable = presentEvent;
event.allDay = false;
event.patient_name = patient_name;
events.push(event);
_ac.fullCalendar('addEventSource',events); 

它在东部时区正常工作,插槽在上午8:00(开始时间)-上午8:15(结束时间)正常显示

当我将本地时区更改为IST时,插槽出现在下午6:30(开始时间)到下午6.45(结束时间)

来自文档:

有时,FullCalendar显示事件时间的方式与谷歌日历界面不同,这可能会让人感到困惑。这涉及两个因素:

  • 日历的时区,通过";日历设置";单击日历名称旁边的箭头后

  • 您的谷歌帐户的时区,通过";设置";谷歌日历屏幕右上角的链接(靠近"注销"链接)

当两个时区相同时,您应该没有问题。当它们不同时,FullCalendar将显示日历的时区中的时间。因此,时间将与您在谷歌日历界面中看到的不同,因为它们将根据日历的GMT进行调整。解决方案是使用currentTimezone选项。如果将其设置为与您的谷歌帐户相同的时区,则所有日期应显示一致。

由于您已向谷歌日历询问America/Chicago时区,因此您得到的值从美国中部时间开始(而非东部),然后转换为GMT作为数字时间戳。

如果您的日历实际上是IST(印度标准时间),那么您应该将时区请求为Asia/Kolkata

由于您使用的是数字Unix时间戳,而不是解析ISO日期字符串,因此不需要ignoreTimezone选项(请参阅文档)。无论哪种方式,它都不会影响结果,所以你可以删除它

相关内容

  • 没有找到相关文章

最新更新