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

soa*_*gem 11 timezone datetime

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

引用这两个不同标准的正确术语是什么?比如说,你所说的America/Chicago识别时区的方式是什么?是不是类似于“标准 TZ 信息名称”或“ISO-1234567 时区名称”或“Eggert TZ 名称”?

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

Mat*_*int 8

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

  • 此类时区America/Chicago通常称为“Olson 时区”、“IANA 时区”或“TZ 数据库时区”。维基百科上有一些数据库历史背景可以解释其中的一些内容。

  • Windows 注册表中的时区通常称为“Microsoft 时区”或“Windows 时区”。

    • 实际上,我鼓励将它们称为“旧版 Windows 时区”,因为 IANA 时区正在慢慢进入 Windows,例如 WinRT 类:Windows.Globalization.CalendarWindows.Globalization.DateTimeFormatting.DateTimeFormatter

    • 我有时会听到它们被称为“.NET 时区”或“TimeZoneInfo 时区”,这是基于它们在 .NET Framework 中的用法,但我不鼓励这种命名。

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

其中一些内容也包含在“timezone”标签 wiki中。

哦,既然我们谈论的是命名,那就是“时区”(两个词),而不是“时区”。:)