有不同的方法来识别相同的时区,每个时区可以由不同的程序以不同的方式使用。我住在威斯康星州,所以我们一般将这里的时区称为“中部时间”。但我知道Windows有一个Central Standard Time
的注册表项,实际上它实际上包括中央标准时间(CST)和中部夏令时(CDT)。但最近我看到这个时区显示为America/Chicago
。
参考这两个不同标准的正确术语是什么?例如,您如何称呼America/Chicago
识别时区的方式?是“标准TZ信息名称”还是“ISO-1234567时区名称”或“Eggert TZ名称”?
那稍微熟悉的Central Standard Time
怎么样?您是将该语法称为“友好时区名称”,还是“ISO-987654321时区名称”,或类似名称?谢谢!
答案 0 :(得分:1)
时区(例如“太平洋时间”或“法国时间”)可以采用不同的方式进行格式化:
“metazone”名称,例如“太平洋时间”或“太平洋标准时间”,可以应用于某个国家/地区或国家/地区的细分受众群。
位置(国家或城市)的名称,例如“巴黎时间”或“日本标准时间” 这些是使用模式(见下文),加上国家/地区名称和城市名称构建的。 如果没有“metazone”名称,则使用基于位置的名称作为后备。
原始抵消,例如“GMT + 10:00” 这些是使用模式构建的(见下文)。
对于前两个中的每一个,有三种选择:
答案 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
中也介绍了其中一些内容。
哦,既然我们正在谈论命名,那就是"时区" (两个字),而不是"时区"。 :)