2014-04-20 37 views
-2

我有一個日期時間變量DateTime d它有數據。解析字符串datetime時的c#異常

我有串這樣的:

11:00 - 12:00

我想借此從d變量的日期,那麼從字符串添加小時和分鐘。

我這樣做:

string newStringDate = d.ToString("yyyy-mm-dd") + " "+hourValue.Split('-')[0]; 
        DateTime dd = DateTime.Parse(newStringDate); 

我有錯誤時拋出該字符串不能被轉移到日期。

我調試代碼,我可以看到newStrinDate = 2014-01-25 11:00

什麼我做錯了嗎?

+0

哪一個做你想做的解析'11:00 - 12:00'還是'2014-01-25 11:00'? –

+0

@ L.B第二個 – user3432257

+2

那麼你爲什麼發佈第一個?是不是你的問題簡單*我如何解析'2014-01-25 11:00' * –

回答

1

它應該是這樣的

string newStringDate = d.ToString(@"yyyy\-MM\-dd") + " " + hourValue.Split('-')[0].Trim(); 
DateTime dd = DateTime.ParseExact(newStringDate, @"yyyy\-MM\-dd HH\:mm", null); 

你可以做得更好(無需原日期轉換爲字符串):

DateTime dd = d.Date + DateTime.ParseExact(hourValue.Split('-')[0].Trim(), @"HH\:mm", null).TimeOfDay; 
+0

讓我試試,並會更新你 – user3432257

+0

我得到了同樣的例外,在第二行'字符串未被識別爲有效的DateTime.' – user3432257

+0

@ user3432257嘗試更新的答案。你有空間 - 這就是問題所在。它的工作原理是 –