Ethsim2
(Ethan )
5
我对此进行了进一步调查,并打开了一个 PR 来解决该问题:
问题出在 ICS 导出上,而不是服务器/容器的时区。导出的事件使用了 IANA TZID(例如 Europe/Berlin),但目前未包含对应的 VTIMEZONE 定义,而 Outlook 等客户端需要该定义才能可靠地解释夏令时规则。
该 PR 在支持时区的 ICS 下载中添加了 VTIMEZONE 定义,同时保留了现有的本地 DTSTART/DTEND 值。
对于本主题中的示例,导出内容现在包含了 Europe/Berlin 的 CET/CEST 实施情况,因此:
DTSTART;TZID=Europe/Berlin:20260811T170000
可以按正确的 UTC+2 夏季偏移量进行解释,而不是让 Outlook 回退到 UTC+1。
我还添加了针对欧洲和北美夏令时规则、固定偏移量情况以及 Africa/Casablanca 使用的更不寻常的季节性转换的测试覆盖。
1 个赞