C# 为什么我会在一小时后得到一个时间,使用圣马丁的大西洋标准时间?

C# 为什么我会在一小时后得到一个时间,使用圣马丁的大西洋标准时间?,c#,.net,timezone,cultureinfo,C#,.net,Timezone,Cultureinfo,好的,现在对我来说是东部时间下午5:16。圣马丁也是下午5:16。圣马丁位于“大西洋标准时区” 当我使用这个值作为时区时,我得到的是下午6:16。我正在使用下面链接的列表-你知道为什么这不起作用吗 现在是(GMT-04:00)大西洋时间(加拿大),但您必须禁用或启用夏令时。这就是为什么会得到一个不同的值。北美东部时区的大多数(但不是所有)地点都采用夏令时。例如,纽约、迈阿密或华盛顿特区。在这些地点,标准偏移量为UTC-5,在冬季月份使用;日光偏移量为UTC-4,在夏时制生效的夏季月份使用 圣马丁

好的,现在对我来说是东部时间下午5:16。圣马丁也是下午5:16。圣马丁位于“大西洋标准时区”

当我使用这个值作为时区时,我得到的是下午6:16。我正在使用下面链接的列表-你知道为什么这不起作用吗

现在是(GMT-04:00)大西洋时间(加拿大),但您必须禁用或启用夏令时。这就是为什么会得到一个不同的值。

北美东部时区的大多数(但不是所有)地点都采用夏令时。例如,纽约、迈阿密或华盛顿特区。在这些地点,标准偏移量为UTC-5,在冬季月份使用;日光偏移量为UTC-4,在夏时制生效的夏季月份使用

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

请注意,大西洋时区中的一些其他位置,如百慕大和新斯科舍省,确实使用夏令时,并且在夏令时生效时会有UTC-3的偏移量

此外,由于您说您正在将Windows时区与
TimeZoneInfo
类一起使用,因此您应该知道,ID为
“大西洋标准时间”
、显示名称为
“(UTC-04:00)大西洋时间(加拿大)”
的时区确实使用夏令时


对于圣马丁,您应该改为使用
“南非西部标准时间”
,其显示名称为
(UTC-04:00)乔治敦、拉巴斯、马瑙斯、圣胡安”
,并固定为UTC-4。这是Marigot,Saint Martin(
America/Marigot
)的正确映射,如中所述。

不确定这是否是您的目的,但我们目前处于夏令时。您到底是如何使用它的?请把你的密码寄出去。好地方。那里有没有人真的关心过时钟会停一个小时?他们不使用夏令时,不像其他地方,如加拿大。DST的遵守和过渡是当地的政治决定。如果市长不喜欢,那就不会发生。只有本地机器或付费web服务知道这一点。