2016-12-15 85 views
0

我要解析其含有以下列格式日期時間導入文件:字符串爲日期時間轉換失敗

「2016-12-02T09:23:20 + 01:00」
「2016-12 -08T15:31:49 + 01:00"

我想這對應於

「YYYY-MM-DDTHH:MM:sszzz」

我的問題是,當我嘗試將此字符串轉換爲日期時,它適用於第一個日期,但不適用於第二個日期。第二次在第15小時失敗。如果我將其更改爲11,例如它再次運行。
所以看起來這個格式並沒有使用24小時的表示法。

我的轉換代碼是這樣的:

string test = "2016-12-02T09:23:20+01:00"; 
DateTime dateTest = DateTime.ParseExact(test, "yyyy-MM-ddThh:mm:sszzz", System.Globalization.CultureInfo.CurrentCulture); 

這個工作,但是當我做

string test = "2016-12-08T15:31:49+01:00"; 
DateTime dateTest = DateTime.ParseExact(test, "yyyy-MM-ddThh:mm:sszzz", System.Globalization.CultureInfo.CurrentCulture); 

這將失敗,出現異常:

字符串未被識別爲有效約會時間。

我的問題是,我如何將這種格式的日期轉換爲日期時間?

回答

6

24小時使用大寫HH

這應該工作:

string test = "2016-12-08T15:31:49+01:00"; 
DateTime dateTest = DateTime.ParseExact(test, "yyyy-MM-ddTHH:mm:sszzz", System.Globalization.CultureInfo.CurrentCulture); 
+0

這很簡單,我覺得現在這麼愚蠢。謝謝 – GuidoG

相關問題