Oxo*_*mer 5 jquery unix-timestamp fullcalendar
我有点奇怪,我刚刚在我的fullCalendar实现中发现了.
基本上,我在数据库"28/04/2011 09:00:00"(dmy)中有一个日期,我将其转换为Unix时间戳,结果为1303981200.0.
我已经通过http://www.onlineconversion.com/unix_time.htm查看了,时间戳有效.
但是,当我将此JSON传递给fullCalendar时,它会在一小时后呈现该事件!
JSON是:
[{"id":"4a315750666d2f70675241544936762b632f514f51513d3d","title":"Blah blah blah","description":"","start":1303981200,"end":1303983000,"className":"A-16","allDay":false}]
Run Code Online (Sandbox Code Playgroud)
百思不得其解
谢谢.
嘿 amit_g,我也使用 php 生成的时间戳遇到了这个问题。出现此问题的原因是时间戳并不“字面上”包含时区,因此当 FC 通过 JavaScript 使用 Date() 对其进行转换时,将使用您的本地时区。
我通过在向 FC 提供事件时简单地使用完整的 ISO 8601 日期格式而不是时间戳来解决这个问题。
$startTimestamp = 1303776000; //2011-04-26 at 12am
$startISO = date('c', $startTimestamp);
echo $startISO; //Outputs 2011-04-26T00:00:00+00:00
Run Code Online (Sandbox Code Playgroud)
在事件开始时仅向 FC 提供 $startTimestamp 会根据我的时区(由于 DST,当时为 -4 EST)显示事件,因为时间戳是上午 12 点,javascript Date() 减去 4 小时,因此显示我的事件一整天早些时候在FC上。现在使用 ISO 日期可以在正确的时间显示我的所有事件。希望这对其他人有帮助!