我想在DST轉換期間4小時後計算DST或DST轉換期間的時間。如何確定CST中DST轉換期間的時間間隔
目前這樣做:
DateTime now = DateTime.now();
DateTime later = now.AddHours(4);
System.Console.WriteLine(now + " isDST " + now.IsDaylightSavingTime());
System.Console.WriteLine(later + " isDST " + later.IsDaylightSavingTime());
提供:
11/1/2009 12:45:54 AM isDST True
11/1/2009 4:45:54 AM isDST False
我想看到的是:
11/1/2009 12:45:54 AM isDST True
11/1/2009 3:45:54 AM isDST False
「最好」 的辦法我發現這樣做是通過UTC這樣一個往返:
DateTime now = DateTime.now();
DateTime later = now.ToUniversalTime().AddHours(4).ToLocalTime;
System.Console.WriteLine(now + " isDST " + now.IsDaylightSavingTime());
System.Console.WriteLine(later + " isDST " + later.IsDaylightSavingTime());
看來我應該能夠指定AddHours()返回的時間應該是經過的時間或顯示時間。我錯過了什麼?