我從用戶那裏獲取日期數據。該數據是表示時間的日期(例如4/23/2011)和一小時(0-23)。用戶選擇的這個日期/時間是當地時間。C#/。NET日期:從本地到UTC
我需要將其轉換爲UTC日期時間。我有他們的GMTOffset他們的位置。我怎樣才能做到這一點?
我從用戶那裏獲取日期數據。該數據是表示時間的日期(例如4/23/2011)和一小時(0-23)。用戶選擇的這個日期/時間是當地時間。C#/。NET日期:從本地到UTC
我需要將其轉換爲UTC日期時間。我有他們的GMTOffset他們的位置。我怎樣才能做到這一點?
var utcDateTime =
new DateTimeOffset(userDateTime, TimeSpan.FromHours(userUtcOffset)).UtcDateTime;
當然,如果格林威治標準時間偏差有一小時的分鐘數/分數,您可以使用TimeSpan
。
只需使用DateTime.ToUniversalTime在C#中,你想要什麼就會說怎麼辦?
您應與DateTimeOffset
structure工作,具體而言,constructor that takes the DateTime
and the TimeSpan
that represents the offset。
從那裏,轉化到/從UTC是一件輕而易舉的,作爲偏移嵌入在結構和不依賴於本地系統設置。
注意,即使不常用遵守,這是recommended to work with DateTimeOffset
most of the time, as opposed to DateTime
(參見下題爲「的DateTimeOffset結構」一節的說明)。
該如果處理在同一臺機器的輸入已完成上進行纔有效。 – Meligy 2011-04-25 18:33:37
@ -1:這不會做他想做的事情,因爲它會根據UTC當前系統的*偏移量將「DateTime」結構轉換爲UTC。需要使用*任意*偏移量進行轉換。 – casperOne 2011-04-25 18:34:06
啊,我的壞... – 2011-04-25 18:34:45