.NET 中的“美国东部标准时间”与“东部标准时间”
Posted
技术标签:
【中文标题】.NET 中的“美国东部标准时间”与“东部标准时间”【英文标题】:"US Eastern Standard Time" vs "Eastern Standard Time" in .NET 【发布时间】:2012-07-12 12:15:12 【问题描述】:在列出TimeZoneInfo.GetSystemTimeZones
返回的TimeZoneInfo
s 的所有Id
属性时,会出现两个版本的EST:美国东部标准时间和东部标准时间。有什么区别?
我也看到了美国山地标准时间和山地标准时间,但我很确定这是因为美国版本适用于不遵守 DST 的亚利桑那州。我假设常规山区标准时间适用于山区时区的美国其他州。我说的对吗?
有关美国时区的有用链接:http://www.timetemperature.com/tzus/time_zone.shtml
【问题讨论】:
【参考方案1】:这些时区的显示名称有助于解释这种混淆
Timezone name | Display name | Observes DST | Offset from UTC in the summer |
---|---|---|---|
Eastern Standard Time | (UTC-05:00) Eastern Time (US & Canada) | Yes | -04:00 |
US Eastern Standard Time | (UTC-05:00) Indiana (East) | Yes | -04:00 |
Eastern Standard Time (Mexico) | (UTC-05:00) Chetumal | No | -05:00 |
Mountain Standard Time | (UTC-07:00) Mountain Time (US & Canada) | Yes | -06:00 |
US Mountain Standard Time | (UTC-07:00) Arizona | No | -07:00 |
Mountain Standard Time (Mexico) | (UTC-07:00) Chihuahua, La Paz, Mazatlan | Yes | -06:00 |
【讨论】:
【参考方案2】:“美国东部标准时间”是指印第安纳州大部分地区的时区,在 2007 年之前没有实行夏令时。同样,“加拿大中部标准时间”用于萨斯喀彻温省,“美国山区标准时间”用于亚利桑那州,仍然没有遵守 DST。
时区 ID 的分配方式有点不合逻辑。例如,提到的“无 DST”版本开曼群岛被称为“SA 太平洋标准时间”(SA = 南美洲,如果您查看时区地图,您会发现 -05:00 偏移适用于南美洲西海岸的哥伦比亚、厄瓜多尔和秘鲁)
另一个时区 ID 示例“格林威治标准时间”指的是冰岛使用的时区,即 UTC+00:00 全年无夏令时,而“GMT 标准时间”指的是英国时区确实有夏令时。
每个时区对应于您可以从时区控制面板中选择的菜单项之一。 This MSDN page shows the correspondence between the text in the menu and the actual timezone ID:
010 Mountain Standard Time (GMT-07:00) Mountain Time (US and Canada)
013 Mexico Standard Time 2 (GMT-07:00) Chihuahua, La Paz, Mazatlan
015 U.S. Mountain Standard Time (GMT-07:00) Arizona
020 Central Standard Time (GMT-06:00) Central Time (US and Canada)
025 Canada Central Standard Time (GMT-06:00) Saskatchewan
030 Mexico Standard Time (GMT-06:00) Guadalajara, Mexico City, Monterrey
033 Central America Standard Time (GMT-06:00) Central America
035 Eastern Standard Time (GMT-05:00) Eastern Time (US and Canada)
040 U.S. Eastern Standard Time (GMT-05:00) Indiana (East)
045 S.A. Pacific Standard Time (GMT-05:00) Bogota, Lima, Quito
085 GMT Standard Time (GMT) Greenwich Mean Time: Dublin, Edinburgh, Lisbon, London
090 Greenwich Standard Time (GMT) Casablanca, Monrovia
【讨论】:
TLDR;Eastern Standard Time
是正确的
注意,给出的链接仅适用于 Windows Embedded 1.1 (2006)。没有列出所有可用时区的静态页面,因为它们可以随着更新的应用而改变。相反,在命令行上使用tzutil /l
列出计算机上安装的那些。或者,在 .NET 中使用 TimeZoneInfo.GetSystemTimeZones()
。
所以答案是美国东部标准时间仅适用于印第安纳州?他们为什么不把它称为印第安纳东部标准时间呢?亚利桑那州和美国山区标准时间是否一样?以上是关于.NET 中的“美国东部标准时间”与“东部标准时间”的主要内容,如果未能解决你的问题,请参考以下文章