我有一个字符串,我必须将其转换为日期时间类型。
'11 Jun 2015 (12:10)'
我必须将其解析为日期时间。我用过DateTime.Parse("MyDateString")
但它抛出了一个异常。
字符串未被识别为有效的日期时间。
我必须拆分字符串而不是将其转换为日期时间格式,或者有一种简单的方法?
DateTime.Parse
使用CurrentCulture
的标准日期和时间格式。由于您的字符串具有(
和)
,因此您需要使用自定义日期和时间解析TryParseExact
方法(或ParseExact
)以及基于英语的区域性(例如:InvariantCulture
)之类的;
string s = "11 Jun 2015 (12:10)";
DateTime dt;
if(DateTime.TryParseExact(s, "dd MMM yyyy '('HH:mm')'", CultureInfo.InvariantCulture,
DateTimeStyles.None, out dt))
{
// 11.06.2015 12:10:00
}
如果您的字符串在开头和结尾都有'
,您可以使用"\'dd MMM yyyy '('HH:mm')'\'"
格式对其进行转义,例如;
string s = "'11 Jun 2015 (12:10)'";
DateTime dt;
if(DateTime.TryParseExact(s, "\'dd MMM yyyy '('HH:mm')'\'", CultureInfo.InvariantCulture,
DateTimeStyles.None, out dt))
{
// 11.06.2015 12:10:00
}