2014-07-24 29 views

回答

2
DateTime myDate = DateTime.ParseExact("7/24/2014 14:46:47", 
    "MM/dd/yyyy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture); 
+0

要添加,文檔包含以下關於'DateTime.Parse' - 「使用當前線程文化的格式約定,並基於DateTimeStyles.AllowWhiteSpaces樣式標誌」 – Sayse

+0

解釋字符串我運行此代碼時得到相同的異常 – user829174

+2

兩個upvotes?這不起作用。它使用'-'來解析包含'/'的字符串。 –

0

正如Sayse和斯利拉姆Sakthivel說,你需要在傳遞格式字符串將在

DateTime.ParseExact(s, "MM-dd-yyyy HH:mm:ss", CultureInfo.InvariantCulture); 
3
System.Globalization.CultureInfo provider = 
    System.Globalization.CultureInfo.InvariantCulture; 
string dateTimeString = @"07/24/2014 14:46:47"; 
string dateTimeFormat = @"MM/dd/yyyy HH:mm:ss"; 
var dateTime = DateTime.ParseExact(dateTimeString, dateTimeFormat, provider); 

相關鏈接:

+0

你應該解釋爲什麼這會起作用。因爲'InvariantCulture'強制'/'作爲日期分隔符,即使當前文化使用不同的分隔符如'-'。否則'MM/dd/yyyy'會被轉換爲'MM-dd-yyyy'。爲防止.NET將特殊的'/'字符視爲自定義格式說明符,您必須使用'InvariantCulture'(如上所述)或使用轉義字符:'「MM \/dd \/yyyy HH:mm:ss」 ' –

+0

@TimSchmelter,增加了文檔鏈接 – AndreyAkinshin

相關問題