我正在为Google日历,Apple日历和Yahoo日历创建日历事件。该事件特定于每个单独的客户,根据他们的地址,它将在特定时间发生,因此我们不需要任何时区转换。我创建的.ics
文件正确显示了Google和Apple日历的时间,但显示了Yahoo日历的时间不正确。
所以我创建了一个DTSTART:20190415T154500
和DTEND:20190415T16450
(带有本地时间的as specified日期)的ics文件,但未指定时区。这对于Apple和Google日历来说效果很好,但是对于Yahoo而言,即使我的Yahoo日历时区与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:45 pm。任何帮助将不胜感激。
您是否尝试过将日期时间调整为UTC(从UTC中减去San Fransisco的-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