2013-05-29 18 views
4

使用TimeZoneInfo我遇到了問題。這可能只是一個理解微軟在TimeZoneInfo中提出的想法的問題。TimeZoneInfo需要一小時之前模糊不清

的問題是,如果我運行這些代碼:

var tzi = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"); 
bool result = tzi.IsAmbiguousTime(new DateTime(2013, 11, 3, 1, 15, 0)); 

結果爲真。

在11月3日我們應該變回從夏令正常時間,所以在2:59:5999999時間將變爲2時00分零零秒

那麼,爲什麼是時間戳01: 15:00一個模棱兩可的時間?

+0

@Jon是對的;日光節約時間規則從美國東部時間01:59:59移至美國東部時間01:00:00。 – Tenner

回答

3

您的陳述不正確:時間將在當地時間02:00(即EDT)發生變化,並且轉移至美國東部時間01:00。這意味着將有兩個 01:15:00的實例,因此結果應該是預期的。

Wikipedia

在11月第一個星期日期間,凌晨2點EDT,時鐘是 搬回到凌晨1:00 EST,從而 「複製」 一個小時。

有意思的是,您可以通過明確指出時間是EDT還是EST來消除歧義。

+0

唉!你是對的。因爲大多數歐洲國家在3點改變正常時間而感到困惑。謝謝 –

+0

@LarsIversen:我不得不穀歌,歐洲也是。 :-) – Jon