2009-11-03 220 views
1

即使日期不符合.net庫支持的內容,我如何將字符串中的日期轉換爲DateTime類型。將字符串轉換爲日期

"dec 2 2009" 
"dec 2, 2009" 
"dec 2009" 
"december 2009" 
"dec. 2009" 
"dec. 2, 2009" 
and so on 

是否有這樣的庫?

假設美國日期格式

+1

允許日期的自由格式規範有問題的。 2009/10/9沒有明確的解析,即當日爲12或更少時,您將無法區分月份和日期。 – 2009-11-03 05:00:31

回答

2

嘗試:

MyDateTime = DateTime.ParseExact(MyString, "yyyy-MM-dd HH:mm tt", null); 

......或任何合適的日期格式...

參考:DateTime.ParseExact

+0

問題是我不知道用戶會輸入什麼。 – newmem 2009-11-03 07:10:00

+0

然後使用正則表達式來確定提供日期的格式,並將該格式提供給ParseExact。 – 2009-11-03 15:47:30

0

「的日期即使不符合.net庫支持的內容。「

「有沒有這樣的圖書館?」

所以你想要一個圖書館,當圖書館不支持它?

很明顯,人們可能以前編寫過其他日期/時間字符串解析器,但是他們中的任何一個都不會窮盡所有您可能需要的東西 - 只需找到適合您期望格式的東西即可。

2

如果我明白你的問題

你可以用

ParseExact

如嘗試:DateTime.ParseExact(sDate, "mm/dd/yyyy", CultureInfo.InvariantCulture);