我有一堆日期時間,我跟蹤我的應用程序。他們都在UTC時間。對於我的應用程序的一部分,我希望使用其中一個時間發送電子郵件,但編輯時應在特定時區。C#日期時間:不同時區的轉換
只有兩個主要領域,我會處理,東海岸和得克薩斯州(達拉斯和休斯頓)
我也可以做一個新的日期時間,當我發出這封郵件,以獲得東部時區( DateTime timestamp = DateTime.Now;
)
我的問題是這樣的:
如果用戶是在德州地區我如何轉換我的時間從東部到時間(1小時以內)?
我想是這樣的:
//Convert timestamp to local time
TimeSpan ts = TimeZone.CurrentTimeZone.GetUtcOffset(timestamp);
timestamp.Add(ts);
timestampString = timestamp.ToString();
但沒有奏效。我也知道這條線是無效的:
timestamp.Hour = timestamp.Hour - 1;
您應該避免使用DateTime.Now,而是使用DateTime.UtcNow。 DateTime.Now可能會讓您驚訝,有時會出現錯誤的時區或夏令時錯誤。 –