将字符串解析为日期时间



我有一个字符串,我必须将其转换为日期时间类型。

'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
}

相关内容

  • 没有找到相关文章

最新更新