2016-03-28 75 views
2

我想解析一個字符串datetime使用ParseExact但我保持失敗.. 我試過下面,但收到一個錯誤:字符串未被識別爲有效的DateTime。解析字符串datetime使用解析確切

string topA = "3/25/2016 12:00:00 AM"; 
DateTime d = new DateTime(); 
d = DateTime.ParseExact(topA, "dd/MM/yyyy HH:mm:ss tt", null); 
+0

SonerGönül指出,您的格式應該是「M/dd/yyyy hh:mm:ss tt」。用DateTime.TryParse()代替歐洲文化可能會更好。 –

+0

交換'dd/MM'。 「HH」爲24小時系統,因此12:00:00 AM無效,請使用'hh'或00:00:00 AM –

回答

3

根據你的字符串,正確的格式應該是M/dd/yyyy hh:mm:ss tt與更好的InvariantCulture

string topA = "3/25/2016 12:00:00 AM"; 
DateTime d = DateTime.ParseExact(topA, "M/dd/yyyy hh:mm:ss tt", 
             CultureInfo.InvariantCulture); 
+0

!如果我通過一個2位數的月份,它也可以工作嗎?我該如何處理這兩種情況? –

+0

@JuniorJohn'M'說明符_can_實際解析兩位數月份。例如; 'M'說明符用於'1'至'12',但'MM'說明符用於'01'至'12'(注意前導零爲單個數字) –