首页 文章

无法让Google日历尊重iCal时区

提问于
浏览
2

我已经构建了一个在Apple的日历中完美运行的iCal feed . 然后我尝试将其导入谷歌日历,时间都是五个小时,这是有道理的,因为我在美国/东部时区 . 我假设日历程序应该尊重我当地时代的时间,基于它们的格式化方式(它们没有时区或UTC标签),但这种情况并没有发生 . 所以,我在日历中添加了时区信息 .

BEGIN:VCALENDAR 
CALSCALE:GREGORIAN 
METHOD:PUBLISH 
PRODID:iCalendar-Ruby VERSION:2.0 
BEGIN:VTIMEZONE 
TZID:America/New_York 
BEGIN:DAYLIGHT 
DTSTART:19700308T020000 
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU 
TZNAME:EDT 
TZOFFSETFROM:-0500 
TZOFFSETTO:-0400 
END:DAYLIGHT 
BEGIN:STANDARD 
DTSTART:19701101T020000 
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU 
TZNAME:EST 
TZOFFSETFROM:-0400 
TZOFFSETTO:-0500 
END:STANDARD 
END:VTIMEZONE

我删除了重新导入的日历,时间仍然关闭 . 标准事件如下所示:

BEGIN:VEVENT 
DESCRIPTION:Justin M. is scheduled to work from 12 PM to 3 PM. 
DTEND:20111103T150000 
DTSTAMP:20111122T144545 
DTSTART:20111103T120000 
LOCATION:Museum of Unnatural History 
SEQUENCE:0 
SUMMARY:Justin M. 
UID:2011-11-22T14:45:45+00:00_239255930@0a9a698e-854d-48e2-97d4-37ff0b28311 9 
END:VEVENT

所以,我不确定为什么谷歌日历有问题 . 它可能只是缓存URL而不是真正更新日历?还有什么我应该做的 .

2 回答

  • 2

    您可以在每个活动日期指定特定时区,例如

    DTSTART;TZID=America/New_York:20150218T133000
    

    这样,Daylight Time将自动考虑,您无需在创建日历时从本地时间转换为UTC(Z)格式 . 请注意,如果解释ical文件的客户端没有正确的区域设置,您也可能会遇到时区问题 .

  • 1

    因此,我通过在每个事件时间结束时添加 Z 来使用UTC时间 . 与日历中的时区信息相结合,Google正确转换时间 - 白天时间除外 . 那些仍然没有 . 如果我能弄明白为什么会更新 .

相关问题