Php icalendar或vcalendar会议邀请中的时区
我通过PHP发送日历会议请求,并使用以下代码Php icalendar或vcalendar会议邀请中的时区,php,icalendar,vcalendar,Php,Icalendar,Vcalendar,我通过PHP发送日历会议请求,并使用以下代码 BEGIN:VCALENDAR VERSION:2.0 CALSCALE:GREGORIAN METHOD:REQUEST BEGIN:VEVENT DTSTART:20150501T080000Z DTEND:20150502T090000Z DTSTAMP:20150411T075116Z ORGANIZER;CN=Jass:mailto:organizer@google.com UID:12345678 ATTENDEE;PARTSTAT=NE
BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTART:20150501T080000Z
DTEND:20150502T090000Z
DTSTAMP:20150411T075116Z
ORGANIZER;CN=Jass:mailto:organizer@google.com
UID:12345678
ATTENDEE;PARTSTAT=NEEDS-ACTION;RSVP= TRUE;CN=Sample:mailto:sample@test.com
DESCRIPTION:Complete event on http://www.sample.com/get_event.php?id=12345678
LOCATION: India
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:TESTING timezones
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
问题
我从早上8点到9点发送请求,但在邀请函中,我的时间是下午1:30到2:30
那么在这种情况下如何管理时区呢?什么是DTSTAMP?我们可以通过DTSTAMP管理此问题吗?DTSTART和DTEND中的“Z”后缀表示这些日期时间是在UTC中提供的。假设您的客户机将时区设置为印度(UTC+5h30),它会正确地将开始时间显示为下午1:30 因此,您在发送邀请时需要考虑到这一点,或者在邀请中包含VTIMEZONE组件,并在DTSTART/DTEND中引用该VTIMEZONE:
...
METHOD:REQUEST
BEGIN:VTIMEZONE
TZID:Asia/Kolkata
BEGIN:STANDARD
TZOFFSETFROM:+0530
TZOFFSETTO:+0530
DTSTART:19451015T000000
TZNAME:IST
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;TZID=Asia/Kolkata:20150501T080000
DTEND;TZID=Asia/Kolkata:20150501T090000
DTSTAMP主要用于查看对现有事件的更新是否晚于客户端已经接收到的更新。看