Wal*_*lla 1 jquery fullcalendar
我正在重建一个需要时区支持的现有项目。通过json-feed可以很好地呈现事件。示例数据:
[{
"id":"1",
"title":"Titel",
"start":"2016-10-08T12:00:00+02:00",
"end":"2016-10-08T12:30:00+02:00",
}]
Run Code Online (Sandbox Code Playgroud)
如您所见,该事件具有时区数据。(2016-10-08T12:00:00+02:00
)
我想使用eventDrop
更新事件,当用户拖放事件时,数据(eventId,start_time,end_time)被发送到PHP,这将更新数据库。
我的PHP脚本应将接收到的start_time和end_time转换为UTC并将其写入数据库。
问题是,fullcalendar不会将事件的时区传递给我的PHP。我试图通过类似的东西:
event_start: moment(event.start).format("YYYY-MM-DD HH.mm:ssZZ"),
Run Code Online (Sandbox Code Playgroud)
我得到的数据是这样的:
event_start: 2016-10-08 12.00:00+0000
Run Code Online (Sandbox Code Playgroud)
我希望它会是这样的:
event_start: 2016-10-11 12.00:00+0200
Run Code Online (Sandbox Code Playgroud)
利用时区信息,我可以轻松地将其转换为UTC。
如何在PHP端访问时区?
您需要将timezone
属性设置为“ UTC”。因此,类似:
$('#calendar').fullCalendar({
events: [{
"id":"1",
"title":"Title",
"start":"2016-10-08T12:00:00+02:00",
"end":"2016-10-08T12:30:00+02:00"
}],
timezone: 'UTC'
});
Run Code Online (Sandbox Code Playgroud)
之后,检索事件时,您应该tzm: 120
在start
每个事件上看到一个,并且应该能够在服务器端获取正确的时区。
我用一个按钮来创建这个jsfiddle,该按钮可以检索事件以及可以在其中进行验证的按钮。
好的,如果要获取日期时间,则有两个选择:
将timezone
属性设置为所需的本地。例如,如果您使用00:00+02:00
,则可以将时区设置为timezone: 'Europe/Belgrade'
只是根本不设置timezone
(将其保留为默认值false
)
然后,您可以使用获取日期时间event.start.format()
。查看此小提琴以获取演示。
归档时间: |
|
查看次数: |
9108 次 |
最近记录: |