Time 奥尔森/IANA时区的更好名称

Time 奥尔森/IANA时区的更好名称,time,timezone,nodatime,Time,Timezone,Nodatime,我们希望在我们的网站上将windows时区转换为OLSON时区。然而,奥尔森时区的问题在于,它们使用大陆来命名,而不是国家名称,例如: America/New_York Asia/Kolkata ... 我不认为我们的任何客户都会期望他/她必须输入一个大陆名称才能找到一个正确的时区——时区列表比windows中使用的要大得多——将近千个。即使客户发现他必须输入一个大陆名称,例如Asia,他也必须在数百个时区中搜索所有亚洲国家。从可用性的角度来看,这是非常糟糕的 是否有任何数据库将OLSON/I

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

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

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

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

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

  • tz数据库不记录一个区域的边界,在许多情况下 在一些情况下,边界是未知的。例如,区域 美国/肯塔基州/路易斯维尔代表着纽约市周围的一个地区 路易斯维尔,其边界尚不清楚

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


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

有趣。我不知道这个奥尔森tz数据库。看起来您应该能够编写一个程序来解析它并提取您需要的内容,但这将是一些工作。我注意到数据描述链接在断开,但这确实提供了一些类似的信息,可能重复,因为您将问题标记为使用Noda Time,请参阅dup问题链接。您将看到,您可以将列表筛选到您感兴趣的国家(可能有两个下拉列表),也可以使用基于地图的时区选择器为用户提供更具互动性的体验。顺便说一下,Unicode consortium的CLDR是将windows时区名称映射到olson ID的一个很好的来源。是的,但我认为OP只是在寻找国家标识符,它们在zone.tab.Spot on中提供,与CLDR数据有关。野田佳彦的时间已经包括了它。请参阅。事实上,zone.tab提供了标识符和iso-3166-country-code之间的简单映射(无担保)。参见“理论文件”链接已断开(404)。幸运的是,这里的答案中已经包含了一些相关内容。