2012-11-21 39 views
0

這是代碼日期時間轉換異常

String date = "1980/1/1"; 
DateTime dateTime = DateTime.ParseExact(date, "yyyy/MM/DD", null); 
// I have also tried 
// DateTime dateTime = DateTime.ParseExact(date, "yyyy/MM/DD", CultureInfo.InvariantCulture); 

,這是異常

字符串未被識別爲有效的日期時間。

更新

使用下面的代碼

DateTime dateTime = DateTime.ParseExact(date, "yyyy/M/D", null); 
+2

使用小寫'd',而不是大寫'D' – Habib

+0

'D'不能是大寫=>'DateTime dateTime = DateTime.ParseExact(date,「yyyy/M/d」,null);' –

+0

它應該是'd' –

回答

1

試試這個(測試)

String date = "1980/1/1"; 
DateTime dateTime = DateTime.ParseExact(date, "yyyy'/'M'/'d",null); 

字符斜槓是單qoutation之間。

1

只使用yyyy/M/D獲得同樣的錯誤。它拋出了一個例外,因爲它期望yyyy/01/01兩位數月份和日期。

DateTime dateTime = DateTime.ParseExact(date, "yyyy/M/d", null); 
+0

我認爲這應該是yyyy/M/D像這樣yyyy/M/d –

2

採用單M和單d

DateTime dateTime = DateTime.ParseExact(date, "yyyy/M/d", null); 

M會照顧了一個月01112,同樣單身d會照顧一天從131,包括0109

您可能會看到:Custom Date and Time Format Strings - MSDN