0
我有我的.NET程序中的日期時間,我需要打印具有特定時區偏移值(例如,總是+01:00)。輸出應包含帶時區的完整日期時間。它必須與系統時區設置無關。我如何能做到這一點?輸出日期時間作爲字符串與預定義的時區移位
例如:我有一個時間戳,例如12-03-2016T12:30:34 + 03:00,我需要輸出計算出的預定義TZ + 1:12-03-2016T10:30:34 + 01: 00
我有我的.NET程序中的日期時間,我需要打印具有特定時區偏移值(例如,總是+01:00)。輸出應包含帶時區的完整日期時間。它必須與系統時區設置無關。我如何能做到這一點?輸出日期時間作爲字符串與預定義的時區移位
例如:我有一個時間戳,例如12-03-2016T12:30:34 + 03:00,我需要輸出計算出的預定義TZ + 1:12-03-2016T10:30:34 + 01: 00
找到了一些方法。
首先,DateTime沒有存儲時區。相反,它有標誌是否是UTC或本地(不知道本地TZ轉換是什麼)。所以:第一件事就是從UTC的任何字符串時間戳中獲取您的初始時間解析。
一旦將它存儲在DateTime對象(Kind = UTC)中,您必須將其轉換爲您希望輸出的時區。我在這裏找到有用的例子:datetime to string with time zone。
注意:如果您需要轉換倫敦夏令時,則必須在NET中知道時區的正確名稱,以便您瞭解正確。見Difference between UTC and GMT Standard Time in .NET
確實'DateTime.AddHours(小時)'不符合? – Takarii
那麼哪一點會引起你的問題呢?你有什麼樣的'DateTime'(Utc,Unspecified,Local)。你是否需要包含時區偏移本身,還是隻是試圖輸出當地時間?目前沒有足夠的細節幫助我們... –
@JonSkeet我需要時區偏移是。最初的日期時間是從時間戳字符串中解析出來的。我想它可以是utc類。 –