时区的正确命名法是什么?

时间:2015-03-05 18:55:25

标签: datetime timezone

有不同的方法来识别相同的时区,每个时区可以由不同的程序以不同的方式使用。我住在威斯康星州,所以我们一般将这里的时区称为“中部时间”。但我知道Windows有一个Central Standard Time的注册表项,实际上它实际上包括中央标准时间(CST)和中部夏令时(CDT)。但最近我看到这个时区显示为America/Chicago

参考这两个不同标准的正确术语是什么?例如,您如何称呼America/Chicago识别时区的方式?是“标准TZ信息名称”还是“ISO-1234567时区名称”或“Eggert TZ名称”?

那稍微熟悉的Central Standard Time怎么样?您是将该语法称为“友好时区名称”,还是“ISO-987654321时区名称”,或类似名称?谢谢!

2 个答案:

答案 0 :(得分:1)

时区(例如“太平洋时间”或“法国时间”)可以采用不同的方式进行格式化:

  • “metazone”名称,例如“太平洋时间”或“太平洋标准时间”,可以应用于某个国家/地区或国家/地区的细分受众群。

  • 位置(国家或城市)的名称,例如“巴黎时间”或“日本标准时间” 这些是使用模式(见下文),加上国家/地区名称和城市名称构建的。 如果没有“metazone”名称,则使用基于位置的名称作为后备。

  • 原始抵消,例如“GMT + 10:00” 这些是使用模式构建的(见下文)。

对于前两个中的每一个,有三种选择:

  • 冬季(标准)时间,例如“大西洋标准时间”
  • 夏季(白天)时间,例如“大西洋日光时间”
  • 通用时间,例如“大西洋时间”。这用于在夏季和冬季之间变化的重复时间(例如在日历程序中)。

enter image description here

答案 1 :(得分:1)

命名法没有确切的标准,但这里有一些指导原则:

  • America/Chicago等时区通常被称为"奥尔森时区"," IANA时区"或" TZ数据库时区& #34 ;.有一些背景on Wikipedia,其中包含数据库的历史记录,其中包含了一些内容。

    • " IANA时区"这些日子可能是最正确的形式,因为该项目现在位于IANA的管理范围内。

    • 有时候,您会听到使用它们的语言所引用的内容,例如" PHP时区"或者" Java时区"。这通常来自对实施的不了解,我不鼓励使用这些名称。

  • Windows注册表中的时区通常称为" Microsoft Time Zones"或者" Windows时区"。

    • 我实际上鼓励打电话给他们"传统的Windows时区",因为IANA时区正逐渐进入Windows,例如使用WinRT类:{{3} }和Windows.Globalization.Calendar

    • 我有时会根据他们在.NET Framework中的用法听到他们称为" .NET时区"或者#34; TimeZoneInfo时区"但我会劝阻他们一种命名。

    • 不注意Windows时区标识符的命名约定。他们到处都是。

Windows.Globalization.DateTimeFormatting.DateTimeFormatter中也介绍了其中一些内容。

哦,既然我们正在谈论命名,那就是"时区" (两个字),而不是"时区"。 :)