时区的正确命名是什么?
What is the correct nomenclature for timezones?
识别同一时区有不同的方法,不同的程序可以以不同的方式使用它们。我住在威斯康星州,所以我们通常将这里的时区称为 "Central Time." 但我知道 Windows 有一个 Central Standard Time
的注册表项,实际上它实际上由中部标准时间组成(CST) 和中部夏令时 (CDT)。但最近我看到这个时区显示为 America/Chicago
.
指代这两个不同标准的正确术语是什么?例如,您将 America/Chicago
识别时区的方式称为什么?那是像 "Standard TZ Info name" 或 "ISO-1234567 timezone name" 还是 "Eggert TZ name" 之类的东西?
那么稍微熟悉一点的 Central Standard Time
呢?您将该语法称为 "Friendly timezone name" 或 "ISO-987654321 timezone name" 或类似的东西吗?谢谢!
时区(例如 "Pacific Time" 或 "France Time")可以用不同的方式格式化:
"metazone" 名称,例如 "Pacific Time" 或 "Pacific Standard Time",可应用于一个国家或地区的各个部分国家集团。
基于 location(国家或城市)的名称,例如 "Paris Time" 或 "Japan Standard Time"
这些是使用模式(见下文)加上 Country/Region 名称和城市名称构建的。
当 "metazone" 名称不存在时,将使用基于位置的名称作为后备。
原始偏移量,例如"GMT+10:00"
这些是使用模式构建的(见下文)。
对于前两个,每个都有三个选择:
- 冬季(标准)时间,例如"Atlantic Standard Time"
- 夏令时,例如"Atlantic Daylight Time"
- 通用时间,例如"Atlantic Time"。这用于在夏季和冬季之间变化的重复时间(例如在日历程序中)。
没有确切的命名标准,但这里有一些准则:
像 America/Chicago
这样的时区通常被称为 "Olson Time Zones"、"IANA Time Zones" 或 "TZ Database Time Zones"。有一些关于数据库历史的背景 on Wikipedia 解释了其中的一些。
"IANA Time Zones" 可能是目前最正确的形式,因为该项目现在由 IANA.
管理
有时,您会听到使用它们的语言引用它们,如 "PHP Time Zones" 或 "Java Time Zones"。这通常是由于对实现缺乏了解,我不鼓励使用这些名称。
Windows 注册表中的时区通常称为 "Microsoft Time Zones" 或 "Windows Time Zones"。
我实际上鼓励称它们为 "Legacy Windows Time Zones",因为 IANA 时区正在慢慢进入 Windows,例如 WinRT 类: Windows.Globalization.Calendar
and Windows.Globalization.DateTimeFormatting.DateTimeFormatter
.
根据它们在 .NET Framework 中的用法,我有时会听到它们被称为“.NET 时区”或 "TimeZoneInfo Time Zones",但我不鼓励这种命名方式。
不要注意 Windows 时区标识符的命名约定。他们无处不在。
中也介绍了其中一些内容
哦,既然我们在谈论命名,那就是 "time zone"(两个词),而不是 "timezone"。 :)
识别同一时区有不同的方法,不同的程序可以以不同的方式使用它们。我住在威斯康星州,所以我们通常将这里的时区称为 "Central Time." 但我知道 Windows 有一个 Central Standard Time
的注册表项,实际上它实际上由中部标准时间组成(CST) 和中部夏令时 (CDT)。但最近我看到这个时区显示为 America/Chicago
.
指代这两个不同标准的正确术语是什么?例如,您将 America/Chicago
识别时区的方式称为什么?那是像 "Standard TZ Info name" 或 "ISO-1234567 timezone name" 还是 "Eggert TZ name" 之类的东西?
那么稍微熟悉一点的 Central Standard Time
呢?您将该语法称为 "Friendly timezone name" 或 "ISO-987654321 timezone name" 或类似的东西吗?谢谢!
时区(例如 "Pacific Time" 或 "France Time")可以用不同的方式格式化:
"metazone" 名称,例如 "Pacific Time" 或 "Pacific Standard Time",可应用于一个国家或地区的各个部分国家集团。
基于 location(国家或城市)的名称,例如 "Paris Time" 或 "Japan Standard Time" 这些是使用模式(见下文)加上 Country/Region 名称和城市名称构建的。 当 "metazone" 名称不存在时,将使用基于位置的名称作为后备。
原始偏移量,例如"GMT+10:00" 这些是使用模式构建的(见下文)。
对于前两个,每个都有三个选择:
- 冬季(标准)时间,例如"Atlantic Standard Time"
- 夏令时,例如"Atlantic Daylight Time"
- 通用时间,例如"Atlantic Time"。这用于在夏季和冬季之间变化的重复时间(例如在日历程序中)。
没有确切的命名标准,但这里有一些准则:
像
America/Chicago
这样的时区通常被称为 "Olson Time Zones"、"IANA Time Zones" 或 "TZ Database Time Zones"。有一些关于数据库历史的背景 on Wikipedia 解释了其中的一些。"IANA Time Zones" 可能是目前最正确的形式,因为该项目现在由 IANA.
管理
有时,您会听到使用它们的语言引用它们,如 "PHP Time Zones" 或 "Java Time Zones"。这通常是由于对实现缺乏了解,我不鼓励使用这些名称。
Windows 注册表中的时区通常称为 "Microsoft Time Zones" 或 "Windows Time Zones"。
我实际上鼓励称它们为 "Legacy Windows Time Zones",因为 IANA 时区正在慢慢进入 Windows,例如 WinRT 类:
Windows.Globalization.Calendar
andWindows.Globalization.DateTimeFormatting.DateTimeFormatter
.根据它们在 .NET Framework 中的用法,我有时会听到它们被称为“.NET 时区”或 "TimeZoneInfo Time Zones",但我不鼓励这种命名方式。
不要注意 Windows 时区标识符的命名约定。他们无处不在。
哦,既然我们在谈论命名,那就是 "time zone"(两个词),而不是 "timezone"。 :)