2009-11-03 135 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);