在我们的 ASP 网络应用程序中,我们有一个模块可以生成要导入到您的日历中的 VCS 文件。如果客户端与我们位于同一区域 (GMT),则此方法可以正常工作。
但是,例如,如果我创建一个在 UTC-01 上午 9 点开始的事件,我仍然会将该事件从 UTC/GMT 上午 9 点开始,就好像它不会读取 TZOFFSET
这是生成的 VCS。在此示例中,该事件应于 2011 年 12 月 30 日上午 9 点至上午 10 点在 UTC-05(纽约)举行。如果我将我的时区设置为 GMT,我会在上午 9 点到 10 点得到约会,而不是计算时差。即使我更改了我的时区,它也总是计算与 GMT 的差异,而不是事件发生的时区。
BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:-Microsoft
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/New_York
TZ:UTC-05
X-MICROSOFT-CDO-TZID:10
BEGIN:STANDARD
DTSTART:20111230T090000
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
END:STANDARD
BEGIN:DAYLIGHT
DTSTART: 20111230T090000
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
DTSTAMP:20111116T100300Z
DTSTART;TZID=America/New_York:20111230T090000
SUMMARY;ENCODING=QUOTED-PRINTABLE:TEST
UID:12347a7833h
ORGANIZER;CN=Test:MAILTO:test@test.com
LOCATION;ENCODING=QUOTED-PRINTABLE:Hall A
DTEND;TZID=America/New_York:20111230T100000
DESCRIPTION;ENCODING=QUOTED-PRINTABLE:
SEQUENCE:0
PRIORITY:5
TRANSP:OPAQUE
CATEGORIES:Test
CLASS:PUBLIC
END:VEVENT
END:VCALENDAR
我已经在谷歌上搜索了几天,似乎找不到任何关于如何正确生成 VCS 的好文档。
任何帮助都会很棒!
谢谢,费德里科