2014-10-28 88 views
0

我在將字符串轉換爲DateTime時遇到問題。它給我「字符串未被識別爲有效的日期時間」異常。字符串對話日期時間

這裏是我的輸入字符串

10/28/2014 3:13:12 AM" 

代碼段

DateTime dt = DateTime.ParseExact("10/28/2014 3:13:12 AM", "dd-MMM-yyyy HH:mm", CultureInfo.InvariantCulture); 

我已經經歷了幾個堆棧溢出職位的走了,但仍然有同樣的問題。

基準柱 String was not recognized as a valid DateTime in C# asp.net

回答

0

使用此格式字符串:"MM/dd/yyyy h:mm:ss tt"

DateTime dt = DateTime.ParseExact("10/28/2014 3:13:12 AM", "MM/dd/yyyy h:mm:ss tt", CultureInfo.InvariantCulture); 

如果要轉換所產生的DateTime回用此格式的stering:dd-MMM-yyyy HH:mm

string result = dt.ToString("dd-MMM-yyyy HH:mm", CultureInfo.InvariantCulture); 

CultureInfo.InvariantCulture強制英文月份名稱而不是本地化名稱。

+0

謝謝,但我有,轉變爲 「DD-MMM-YYYY HH:MM」 格式 – user1030128 2014-10-28 10:52:10

+0

@ user3751544:我已經編輯我的答案。 – 2014-10-28 10:55:09

0

您缺少秒(ss)和AM/PM指定(tt)。請參閱http://msdn.microsoft.com/en-us/library/8kb3ddd4%28v=vs.110%29.aspx瞭解各種名稱以及它們在此轉換中的解釋方式。

DateTime dt = DateTime.ParseExact("10/28/2014 3:13:12 AM", "MM/dd/yyyy h:mm:ss tt", CultureInfo.InvariantCulture); 

沒有這些,它不知道如何解釋你通過它的額外數據。

這將分配dt10/28/2014 3:13:12 AM

+0

仍在收到「{」字符串未被識別爲有效的日期時間。「}」 – user1030128 2014-10-28 11:06:00

+0

@ user3751544這對我而言正確。你能檢查你的格式('MM/dd/yyyy h:mm:ss tt')與我的完全匹配嗎? – grovesNL 2014-10-28 11:08:10