.ics日历格式配置问题:Outlook显示时间偏差4小时
问题分析与解决
问题出在DTSTART和DTEND字段的格式冲突上:
- 你同时给时间字段指定了
TZID="Eastern Standard Time",又在时间值末尾加了Z后缀。根据iCalendar规范,Z代表UTC时间,而搭配TZID时,时间值应该是对应时区的本地时间,两者不能同时使用。 - 这种冲突会让Outlook错误地将你设置的UTC时间转换为美国东部时区时间,导致显示的时间和预期不符。
修正后的关键代码
只需要移除DTSTART和DTEND末尾的Z即可:
BEGIN:VEVENT DESCRIPTION:Training class to inform about and prevent workplace harassment DTSTAMP:20240202T153000Z DTSTART;TZID="Eastern Standard Time":20240213T140000 DTEND;TZID="Eastern Standard Time":20240213T153000 SEQUENCE:0 SUMMARY;LANGUAGE=en-us:Workplace Harassment Prevention Training Class LOCATION:Building 2 room 149 TRANSP:OPAQUE UID:69EEED22-E111-436C-9210-6B95000A55D5 END:VEVENT
额外验证
你的VTIMEZONE部分定义是正确的,美国东部时区的冬令时(UTC-5)和夏令时(UTC-4)规则符合标准,修正时间字段格式后,Outlook就能正确识别为美国东部时间14:00-15:30。
内容的提问来源于stack exchange,提问作者Hanley Loller
相关产品推荐
相关产品推荐

