【问题标题】:Should I map Windows time zones to IANA time zones if I don't use noda time?如果我不使用 noda 时间,我应该将 Windows 时区映射到 IANA 时区吗?
【发布时间】:2014-05-21 19:40:07
【问题描述】:

我需要让用户从我的 asp.net Web 应用程序的菜单中选择一个时区。根据TimeZoneInfo.GetSystemTimeZones() 返回的列表,该菜单目前包含 102 个区域。如您所知,此列表不如 IANA 时区列表(或 tz 数据库)完整。

我知道 noda time 支持 IANA/tz 数据库。不幸的是,由于范围限制,我无法将 noda 时间应用于我的解决方案。

问题:我是否应该将菜单更改为具有 IANA 时区,然后将其映射到 102 个 Windows 时区?

现在我倾向于“否”。我看到的问题是实现此映射隐藏了我的应用程序实际上不支持 IANA 时区的事实。 Windows 时区更为通用,因此 DST 规则不如 IANA 准确。只是想就此获得第二意见。谢谢。

【问题讨论】:

    标签: .net timezone dst


    【解决方案1】:

    如果您的应用程序实现了.Net TimeZoneInfo,那么您可能应该只通过TimeZoneInfo 对象的DisplayName 属性显示Windows 时区,然后将相应的Id 属性存储为用户的时区选择。

    另一方面,如果您要公开基于地图的时区选择器,例如 this onethis one,那么您可以使用它们生成的 IANA 时区 ID 映射到 Windows 时区。但是,如果您对这种 UI 没有这种需求,那就不要理会它们。

    【讨论】:

      猜你喜欢
      • 2012-10-14
      • 1970-01-01
      • 2015-10-12
      • 1970-01-01
      • 2013-08-17
      • 2011-06-25
      • 2018-12-30
      • 2012-02-15
      • 2013-10-15
      相关资源
      最近更新 更多