2012-04-20 74 views
0

我有一個時間跨度值1:00:00問題與convering UTC時間particluar時區

我日期時間

轉換這UTC
DateTime dateTime = DateTime.UtcNow.Date.Add(timeSpan); 

然後隱蔽這個UTC日期時間(UTC -05:00)東部時間(美國&加拿大)

TimeZoneInfo.ConvertTimeFromUtc(dateTime, timeZoneInfo); 

,但它返回的日期時間我小時爲「21」,在那裏我期待它應該是「20」

因爲(UTC-05:00)東部時間(美國&加拿大)應該是1:00:00 AM。 - 5 = 20:00:00

任何想法,我做錯了什麼?

回答

0

由於該時區位於夏令時,當前(DateTime.UtcNow),它與一小時不同。

0

如果你只關心服務器的時間

int dstOffset = 0; 

if (System.TimeZone.CurrentTimeZone.IsDaylightSavingTime(DateTime.UtcNow)) 
    dstOffset = -1;