【问题标题】:Isn't iCalendar DTSTART with UTC bad?UTC 的 iCalendar DTSTART 不好吗?
【发布时间】:2017-09-10 04:41:14
【问题描述】:

RFC5545 规范允许以 UTC 时间指定 DTSTART。我认为这很糟糕,可能会导致一个小时的关闭。例如,在我居住的地方,我们尊重 DST,但亚利桑那州的部分地区却没有。因此,如果亚利桑那州的人创建了一个事件并且它只是存储在 UTC 中,那么当 DST 打开或关闭时我不会有“一次性”问题吗?

我在想我应该总是用 TZID 标识符写入 DTSTART 和 DTEND 时间。

【问题讨论】:

    标签: icalendar rfc5545


    【解决方案1】:

    否 - 显示时间的应用或程序应正确转换给定日期的时间。将 DTSTART 存储在哪个时区并不重要。重要的是显示时间的程序在给定日期的正确时区转换。

    所以在目的地的夏令时切换前后。两个 UTC 时间将映射到相同的目标时间。

    另外: 有一些非常知名的系统不会以最佳方式为夏令时区域设置时区,但这是一个不同的问题。

    【讨论】:

    • 你能不能扩展一下?我基本上只是在客户端转换为UTC,然后发送到服务器,然后当它从服务器返回时,我转换为本地时间。
    • 另外,如果没有问题,我很好奇为什么像 Apple 的 iCal 程序会用时区导出它们...... >
    • 对不起,如果我的旁边有困惑。我不喜欢微软的处理方式——在夏令时切换时有点繁琐——但那是我在吹毛求疵。
    • Re apple 我不知道,但我对此没有意见 - 有些人可能会争辩说他们更喜欢在自己的时区查看他们的 ics 文件,(我愿意;))
    【解决方案2】:

    UTC 中的 DTSTART 主要是在重复事件的情况下(尤其是与与会者一起)。例如,请参阅Should event times specified in UTC while generating ICS files, to avoid issues with myriad calendaring applications

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-12
      • 1970-01-01
      • 1970-01-01
      • 2011-10-04
      • 2023-04-08
      相关资源
      最近更新 更多