2

我们想在我们的网站上将 Windows 时区转换为 OLSON 时区。然而,OLSON 时区的问题在于它们使用大陆而不是国家名称来命名,例如:

America/New_York
Asia/Kolkata
...

我认为我们的任何客户都不会期望他/她必须输入大陆名称才能找到正确的时区 - 时区列表比 Windows 中使用的要大得多 - 几乎有数千个。即使客户发现他必须输入大陆名称,例如Asia,他也必须在数百个时区中搜索所有亚洲国家。从可用性的角度来看,这是非常糟糕的。

是否有任何数据库可以将 OLSON/IANA 时区名称映射到国家风格名称,例如:

America/New_York -> New York, USA
Asia/Kolkata -> Kolkata, India
4

1 回答 1

5

简短的回答,没有国家风格名称的供应商。如果你想要这个,这取决于你的努力。长答案:IANA-TZDB 被划分为区域,而不是国家,因此是标识符的特殊形式(大陆/城市)。从理论文件

  • tz 数据库不记录区域的边界,并且在许多情况下边界是未知的。例如,区域 America/Kentucky/Louisville 代表路易斯维尔市周围的一个区域,其边界不明确。

  • 在存在政治变化的情况下保持稳健。这减少了更新和向后兼容黑客的数量。例如,通常不使用国家名称,以避免在国家更改名称(例如扎伊尔->刚果)或地点更改国家(例如,香港从英国殖民地到中国)时出现不兼容。

可以在此文件中读取更多详细信息。tzdb 的管理员表示希望减少区域标识符的数量并将所有政治问题远离 tzdb,尤其是 2013 年 9 月 IANA 邮件列表上的激烈辩论。遵循国家边界的标识符通常在政治上不稳定。

于 2013-12-23T22:24:30.173 回答