我正在为谷歌日历、苹果日历和雅虎日历创建一个日历事件。该事件特定于每个客户,并根据他们的地址在特定时间发生,因此我们不需要任何时区转换。我创建的.ics
文件正确显示了Google和Apple日历的时间,但显示Yahoo日历的时间不正确。
所以我创建了一个带有 DTSTART:20190415T154500
和 DTEND:20190415T16450
(作为本地时间的指定日期(的 ics 文件,没有指定时区。这适用于Apple和Google日历,但是在雅虎的情况下,即使我的雅虎日历时区与我的Google日历相同,它也会显示Mon, 15 Apr, 11:45 AM - 12:45 PM
。以下是我的.ics
文件:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ZContent.net//Zap Calendar 1.0//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VEVENT
SUMMARY:Specialist arrival window
UID:d5497571-a7fe-49e2-b0a5-d619e7f5c73a
DTSTART:20190415T154500
DTEND:20190415T164500
LOCATION:101 XYZ BLDG 1, SAN FRANCISCO,CA,94098
DESCRIPTION:Thanks for choosing our service!
X-ALT-DESC;FMTTYPE=text/html:<html><body>Thanks for choosing our service.<br>
<br> Have to reschedule? sigin to change your appointment day and time. </body>
</html>
END:VEVENT
END:VCALENDAR
期望无论时区如何,用户都应该得到时间为 4 月 15 日星期一⋅3:45 – 4:45pm。任何帮助将不胜感激。
您是否尝试过将日期时间调整为 UTC(从 UTC 中减去旧金山的 -7 小时时区偏移量(并用Z
后缀它们?像这样:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ZContent.net//Zap Calendar 1.0//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VEVENT
SUMMARY:Specialist arrival window
UID:d5497571-a7fe-49e2-b0a5-d619e7f5c73a
DTSTART:20190415T084500Z
DTEND:20190415T094500Z
LOCATION:101 XYZ BLDG 1, SAN FRANCISCO,CA,94098
DESCRIPTION:Thanks for choosing our service!
X-ALT-DESC;FMTTYPE=text/html:<html><body>Thanks for choosing our service.<br>
<br> Have to reschedule? sigin to change your appointment day and time. </body>
</html>
END:VEVENT
END:VCALENDAR