为什么一小时后我会使用大西洋标准时间为圣马丁?

时间:2014-07-23 21:23:03

标签: c# .net timezone cultureinfo

好的 - 现在对我来说是东部时间下午5:16。它也是圣马丁下午5:16。圣马丁在大西洋标准时间"大西洋标准时间"区。

当我使用此值作为时区时,我得到下午6:16。我使用下面链接的列表 - 任何想法,为什么这不起作用?

http://msdn.microsoft.com/en-us/library/ms912391(v=winembedded.11).aspx

2 个答案:

答案 0 :(得分:2)

北美东部时区的大多数(但不是全部)地点都受夏令时影响。例如,纽约,迈阿密或华盛顿特区在这些位置,标准偏移为UTC-5,在冬季使用,日光偏移为UTC-4,在夏令时使用,夏令时时间有效。

圣马丁在大西洋时区不使用夏令时。它始终遵循大西洋标准时间,它使用UTC-4的偏移量。 Reference Here.

请注意,大西洋时区的其他一些地点,例如百慕大和新斯科舍省,使用夏令时,夏令时时间为UTC-3的偏移量实际上。

此外,由于您说您使用的是带有TimeZoneInfo类的Windows时区,因此您应该知道时区的ID为"Atlantic Standard Time",并且显示名称为{{1 }, 使用夏令时。

对于圣马丁,您应该使用"(UTC-04:00) Atlantic Time (Canada)",其显示名称为"SA Western Standard Time",并固定为UTC-4。这是Marigot,Saint Martin("(UTC-04:00) Georgetown, La Paz, Manaus, San Juan")的正确映射,如the Unicode CLDR Windows time zone mappings中所述。

答案 1 :(得分:0)

你是对的(格林威治标准时间-04:00)大西洋时间(加拿大),但你必须禁用或启用夏令时。这就是为什么你得到了不同的价值。