即使日期不符合.net庫支持的內容,我如何將字符串中的日期轉換爲DateTime類型。將字符串轉換爲日期
"dec 2 2009"
"dec 2, 2009"
"dec 2009"
"december 2009"
"dec. 2009"
"dec. 2, 2009"
and so on
是否有這樣的庫?
假設美國日期格式
即使日期不符合.net庫支持的內容,我如何將字符串中的日期轉換爲DateTime類型。將字符串轉換爲日期
"dec 2 2009"
"dec 2, 2009"
"dec 2009"
"december 2009"
"dec. 2009"
"dec. 2, 2009"
and so on
是否有這樣的庫?
假設美國日期格式
嘗試:
MyDateTime = DateTime.ParseExact(MyString, "yyyy-MM-dd HH:mm tt", null);
......或任何合適的日期格式...
問題是我不知道用戶會輸入什麼。 – newmem 2009-11-03 07:10:00
然後使用正則表達式來確定提供日期的格式,並將該格式提供給ParseExact。 – 2009-11-03 15:47:30
「的日期即使不符合.net庫支持的內容。「
「有沒有這樣的圖書館?」
所以你想要一個圖書館,當圖書館不支持它?
很明顯,人們可能以前編寫過其他日期/時間字符串解析器,但是他們中的任何一個都不會窮盡所有您可能需要的東西 - 只需找到適合您期望格式的東西即可。
檢查出DateTime.ParseExact在http://msdn.microsoft.com/en-us/library/w2sa9yss.aspx加上自定義格式http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx。
下面是一個例子:
...
DateTime.TryParseExact(s, "%M %d yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out resultDateTime)
...
如果我明白你的問題
你可以用
如嘗試:DateTime.ParseExact(sDate, "mm/dd/yyyy", CultureInfo.InvariantCulture);
允許日期的自由格式規範有問題的。 2009/10/9沒有明確的解析,即當日爲12或更少時,您將無法區分月份和日期。 – 2009-11-03 05:00:31