2013-04-04 48 views
2

我有一個字符串Value = "12/11/2013"並嘗試解析這個使用C#,數據分析錯誤與DateTime.ParseExact

DateTime.ParseExact(Value, "dd/MM/yyyy", null); 

但有一個例外FormatException,不能爲什麼已瞭解。

+3

嘗試'DateTime.ParseExact(價值, 「DD/MM/YYYY」 的CultureInfo .InvariantCulture);' – Habib 2013-04-04 10:20:44

+0

適合我。我沒有收到任何錯誤。線程運行的文化是什麼? – Oded 2013-04-04 10:21:47

+0

沒有錯誤發生..其工作對我來說很好... – Pandian 2013-04-04 10:24:49

回答

5

變化:

DateTime.ParseExact(Value, "dd/MM/yyyy", null); 

要:

DateTime.ParseExact(Value, "dd/MM/yyyy", CultureInfo.InvariantCulture); 
+1

你應該注意,通過'null'將採取當前的文化 – 2013-04-04 10:21:40

+1

這對我來說可能...可能是一些winphone的副作用 – 2013-04-04 10:40:22

3

從您的個人資料看來,你是be-Byculture下,這就是爲什麼你所得到的例外。以下代碼將產生相同的異常。

System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("be-BY"); 
string Value = "12/11/2013"; 
DateTime dt = DateTime.ParseExact(Value, "dd/MM/yyyy", null); 

要comeover異常使用CultureInfo.InvariantCulture,如:

DateTime dt = DateTime.ParseExact(Value, "dd/MM/yyyy", CultureInfo.InvariantCulture); 
-1

你可以試試這個:

DateTime.ParseExact(Value, "dd'/'MM'/'yyyy", null);