Fullcalendar 如果我更改操作系统时区,事件(作为json提要)和unix时间戳的开始-结束参数是不同的
我正在使用fullcalendar插件,如果有人能帮我一把,我将不胜感激 我通过一个PHP URL获取json事件。 大概是这样的:Fullcalendar 如果我更改操作系统时区,事件(作为json提要)和unix时间戳的开始-结束参数是不同的,fullcalendar,unix-timestamp,Fullcalendar,Unix Timestamp,我正在使用fullcalendar插件,如果有人能帮我一把,我将不胜感激 我通过一个PHP URL获取json事件。 大概是这样的: $('#calendar').fullCalendar({ events: "/myfeed.php" }); 因此,在返回事件的php页面中,我得到了3个GET参数: "" “开始” “结束” start和end参数,指示UNIX时间戳中的日期。 到目前为止,问题是如果我改变操作系统的时区。还可以为日历中同一天的同一查询更改这些参数“开始”和“结束”。 最
$('#calendar').fullCalendar({ events: "/myfeed.php" });
因此,在返回事件的php页面中,我得到了3个GET参数:
- ""
- “开始”
- “结束”
- _1347245953581
- 完1347246000
- 启动1347159600
- _1347246338047
- 完1347332400
- 启动1347246000
因为是同一天,所以发送其他开始和结束参数以检查事件。完整日历上有一个ignoreTimezone选项可能会有所帮助。我不确定它是否会影响传递给提要的开始/结束时间 另一个选项是将传递的时间戳转换为日期对象,然后从日期对象获取本地数据并在查询中使用 我知道这不是确切的答案,但它可能会帮你一点忙 下面是一段PHP代码示例,用于将传递的时间戳转换为本地格式的日期:
$startts = $_REQUEST["start"]; // original timestamp
$startdt = new DateTime('now', new DateTimeZone('Europe/Oslo') ); // setup a local datetime
$startdt->setTimestamp($startts); // Set the date based on timestamp
echo $startdt->format('Y-m-d H:i:s'); // Output local date and time