2012-11-07 68 views

回答

2

的DateTimeOffset也處理時區偏移:

DateTimeOffset.Parse("2007-08-31T06:59:40+02:00") 

DateTimeOffset.ParseExact("2007-08-31T06:59:40+02:00", "yyyy-MM-ddTHH:mm:sszzzz" 
          ,System.Globalization.CultureInfo.InvariantCulture)); 
+0

這工作,謝謝。 – user1806206

4

使用DateTime.Parse()

DateTime dt = DateTime.Parse ("2007-08-31T06:59:40+02:00") 
+1

儘管OP可能想使用DateTimeOffset來保存偏移量。 – Oded

+0

不起作用,將其轉換爲錯誤的日期。 – user1806206

+2

哪個'錯誤的日期'?提供詳細信息有助於更快找到答案。 –

1

使用DateTimeOffset.Parse()。 。

然後使用DateTime財產或財產DateTimeUtc得到一個DateTime(但你應該進行調查,如果你能繼續使用的DateTimeOffset

5

您應該使用DateTimeOffset.ParseExact - 你知道你期待確切格式,因爲這可能來自另一臺計算機而不是用戶輸入,所以如果它失敗,那麼它是一個確定的錯誤。同樣,你應該指定不變的文化來表明這不依賴於執行線程的「當前文化」

var value = DateTimeOffset.ParseExact(text, 
             "yyyy'-'MM'-'dd'T'HH':'mm':'sszzz", 
             CultureInfo.InvariantCulture); 

DateTimeOffset是準確表示信息的類型 - DateTime丟失了部分信息。