如何设置时区日历事件?

How to set time zone calendar event?

这是我的代码

BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 10.0 MIMEDIR//EN
VERSION:2.0
X-WR-TIMEZONE:America/Chicago
METHOD:REQUEST
BEGIN:VTIMEZONE
TZID:Central Standard Time
BEGIN:STANDARD
DTSTART:20091101T020000Z
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=1SU;BYMONTH=11
TZOFFSETFROM:-0900
TZOFFSETTO:-0700
TZNAME:Central Standard Time
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20090301T020000Z
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=2SU;BYMONTH=3
TZOFFSETFROM:-0900
TZOFFSETTO:-0700
TZNAME:Central Standard Time
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
ORGANIZER;CN="Support cajunlodging":MAILTO:suports.cajunlodging@gmail.com
ATTENDEE;CN="ticket";ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:ticket@cajunlodging.com
LAST-MODIFIED:20151222T054744Z
UID:20151222T545001415641638@logicexpress.net
DTSTAMP:20151222T54744
DTSTART:20151222T054500Z
DTEND:20151223T180000
TRANSP:OPAQUE
SEQUENCE:1
SUMMARY:[Hampton Inn/58/#529] Event
LOCATION:Hampton Inn
CLASS:PUBLIC
PRIORITY:5
BEGIN:VALARM
TRIGGER:-PT15M
ACTION:DISPLAY
DESCRIPTION:Reminder
END:VALARM
END:VEVENT
END:VCALENDAR

我想为所有电子邮件地址设置相同的时区。 我在 gmail 中创建了两个具有不同时区的电子邮件地址。一个电子邮件地址具有 IST 时区,而另一个具有中央时区。当我通过 php 发送此日历事件时,我得到了不同的时区。 我希望电子邮件地址的时区与中央时区相同。那我该怎么做呢?

可能最简单的事情就是将所有时间格式化为 UTC。然后,当某人在 Gmail 中收到该事件时,Gmail 应自动从 UTC 转换为该人在 Gmail 设置中设置的任何时区。

UTC 时间以 "Z" 结束并且不需要 VTIMEZONE 组件。以下 属性 使用 UTC 时间:

DTSTART:20151222T054500Z