根据我的理解,Arshaw FullCalendar会根据本地计算机操作系统的时区显示事件。我假设这是由javascript Date()对象完成的,该对象也基于本地计算机的操作系统。我有一个具有组日历和组时区的应用程序,我希望能够强制每个本地Arshaw日历根据该组的时区显示,无论该计算机是什么时区。你是怎么做到的?
注意:我仔细查看了文档,发现没有这样的选项。我希望javascript有一些等同于php的date_default_timezone_set(),在我看来这可以解决这个问题。
*编辑2013年1月31日下午12:23 CST: 我将所有内容作为unix时间戳发送到日历,所以我假设选项ignoreTimezone不适用于此,如此stackoverflow线程中所述: jQuery FullCalendar timezone synchronization
答案 0 :(得分:5)
您应该尝试将“ignoreTimezone”选项设置为“false”,并在ISO8601中提供Arshaw FullCalendar日期。
您可以在此处获取有关此内容的更多信息:http://arshaw.com/fullcalendar/docs/event_data/ignoreTimezone/
要将unix时间戳转换为ISO8601,您可以在javascript中使用它:
var d = new Date(1360412434000).toISOString();
这是ECMAScript 5。 请参阅此处了解兼容性和后备代码:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/toISOString