2
的documentation說......ToLocalTime在時區之間工作嗎?
- 可以使用ToLocalTime方法來恢復被ToUniversalTime或FromFileTimeUtc方法轉換爲UTC本地日期和時間值。
,並接着說(立即)
- 然而,如果原來的時間代表了本地時區的時間無效,它不會匹配的恢復值。
後者是否意味着如果時間「無效」(無論這意味着什麼?)它只會不起作用?
的documentation說......ToLocalTime在時區之間工作嗎?
,並接着說(立即)
後者是否意味着如果時間「無效」(無論這意味着什麼?)它只會不起作用?
我想這證明意味着什麼時間是無效的:我的電腦上
DateTime now = DateTime.Now;
for (DateTime dt = now; dt < now.AddYears(1); dt += TimeSpan.FromMinutes(30))
{
DateTime dt2 = dt.ToUniversalTime().ToLocalTime(); // dt2 == dt ?
if (dt2 != dt)
{
Console.WriteLine("Not equal: {0}, {1}", dt, dt2);
}
}
結果(你可能會得到不同的結果):
Not equal: 27-03-2011 02:26:28, 27-03-2011 03:26:28 Not equal: 27-03-2011 02:56:28, 27-03-2011 03:56:28
的時間「27-03- 2011 02:26:28「是無效的,因爲它們不存在,因爲時鐘向前移動了一個小時,導致該時間被跳過。
我的傾向是,稱爲ToLocalTime的方法的全部要點是它跨時間區域轉換時間,但您說得對,文檔不明確。你有沒有嘗試過測試它?堅強我不確定你可以用於邊緣情況... – 2010-09-17 00:04:31