2013-10-30 64 views
0

在我的應用程序中,我收到來自Facebook的一些json。 如果我試試這個:兩個日期時間:一個有效,爲什麼不是另一個?

utente.birthday = ((objectParsed.birthday != null) ? DateTime.Parse((string)objectParsed.birthday) : (DateTime?)null); 

隨着日期爲:

"birthday": "01\/01\/1996" 

它工作正常,但如果日期是:

"birthday": "09\/23\/1982", 

我得到String was not recognized as a valid DateTime.例外。它出錯了哪裏?

+2

可能在你的區域設置的日期格式(默認情況下使用在DateTime.Parse除非另行指定)爲DD/MM/YYYY,給予23個月數量時明顯失敗。嘗試使用自定義日期時間格式,而不是:http://msdn.microsoft.com/en-us/library/8kb3ddd4%28v=vs.71%29.aspx –

+0

因爲第一個模糊的月份和日期,第二個不是第一個數字是月份,第二個是日期,因爲沒有23個月。第一個例子可以是。如果第一個是可能是1月2日或2月1日的「01 \/02 \/2013」​​,則取決於您如何解析它。您正在使用計算機的當前文化來解析,我猜想這是日/月/年。 –

+0

你的文化是怎樣的? –

回答

5

這是文化的問題。在第二個日期中,該月份(23)與該月份不匹配。

使用ParseExact()格式爲MM/dd/yyyy或將文化指定給解析器。

2

,因爲文化指定默認DateTime格式可能是接受其他格式dd/MM/yyyy

使用ParseExact與格式:

MM/dd/yyyy 
0

我認爲你應該在MM-dd-YYYY格式中傳遞datetime,然後它不會例外。

"MM-dd-YYYY" 
+0

你弄錯了它。 – lahsrah

相關問題