设置 VTIMEZONE 标签会破坏我的 ICS 文件

Setting VTIMEZONE tags breaks my ICS file

我已经创建了一个 ICS 文件,我通过我的网络应用程序将其包含在我的电子邮件中,指定的时间是 UTC 时间,这需要应用,因为在我的测试中,日历客户端将假定时区是用户当地时间。

这是我的 ICS 文件的样子:

BEGIN:VCALENDAR
BEGIN:VTIMEZONE
TZID:UTC
BEGIN:VEVENT
UID:a0F8E00000oWo53UAC
DTSTART:20200814T194500
DTEND:20200814T204500
SUMMARY:Your Appointment - Appointment Name Here
LOCATION:123 Fake Street, New York, New York, 1234
DESCRIPTION:
ORGANIZER;CN=:MAILTO:
BEGIN:VALARM
TRIGGER:-PT1H
ACTION:DISPLAY
END:VALARM
END:VEVENT
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:UTC
BEGIN:VEVENT
UID:a0F8E00000oWo59UAC
DTSTART:20200814T220000
DTEND:20200814T230000
SUMMARY:Your Appointment - Appointment Name Here
LOCATION:123 Fake Street, New York, New York, 1234
DESCRIPTION:
ORGANIZER;CN=:MAILTO:
BEGIN:VALARM
TRIGGER:-PT1H
ACTION:DISPLAY
END:VALARM
END:VEVENT
END:VTIMEZONE
END:VCALENDAR

我在 EVENT 节点周围添加了 VTIMEZONE 标签。我还在顶部指定了时区,例如 TZID:UTC.

这似乎不起作用。有人可以帮我改正吗?

VEVENT 组件不能在 VTIMEZONE 组件内部!

像这样指定时间戳的时区:

DTSTART;TZID=UTC:20200814T194500