2016-02-04 49 views
-2

我有一個像下面DateTimeFormat問題

1/1/1970 12:00:00 AM

字符串我希望它在YYYY-MM-DD格式(在這種情況下,1970年-01-01) 我的解析代碼是

var actualDate = DateTime.ParseExact(actualValue,"MM/dd/yyyy HH:mm:ss tt",CultureInfo.InvariantCulture).ToString("yyyy-MM-dd"); 

但我不斷收到錯誤,該字符串未被識別爲有效的日期時間。 我看着我的變量actualValue它是DateTime類型,所以我認爲問題是格式爲MM/dd/yyyy HH:mm:ss tt,這有什麼問題?

+3

如果'actualValue'是'DateTime',那麼你得到的代碼甚至不應該編譯,而且你不需要解析它。目前你的問題還不清楚。但基本上,你不應該從數據庫中讀取字符串的值作爲開始。 –

+0

我的歉意是,它不是從DB讀取的,它是一個字符串,就像。我編輯了這個問題。 – user5534263

+0

如果actualValue的類型是DateTime,即使這樣也不能解決您的代碼無法編譯的問題。 –

回答

2

首先,您不應該將日期存儲或提取爲數據庫中的文本。

但是,對於您的特定問題,MMdd是兩位數的月份和日期。顯然你的日期文本不使用兩位數的品種,所以使用Md。此外,HH是24小時制。使用tt,即AM/PM,意味着不是有24小時制時鐘,所以您應該使用hh來代替。

有關更多信息,請參閱MSDN以瞭解自定義日期/時間格式。

+0

好吧,我早些時候試過M和D,但沒有奏效。但是除了M和d之外,使用hh而不是HH。 12小時和24小時格式的好消息! – user5534263