【发布时间】:2014-10-09 19:35:33
【问题描述】:
我想解析从网页收到的日期,格式为 9 October 2014 20:23:09 或 9 October 2014 20:23:09 BST(或 EST 等)
protected DateTime ExtractFullDate(string date)
{
DateTime result = DateTime.MinValue;
if (!DateTime.TryParseExact(date, "d M yyyy hh:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out result))
{
// Always fails and gets here
}
return result;
}
不确定我在格式说明符上做错了什么,但它总是使TryParseExact 失败。我在这个月尝试了MM 和MMM 的变体,但没有区别。
【问题讨论】:
-
我不认为 DateTime 可以解析时区缩写。您可能需要用偏移量替换它们,例如
date = date.Replace("EST", "+07"); -
您可以将literal string delimiter 用于您的
BST或EST部分。但在这种情况下,您需要使用其他DateTime.TryParseExact重载,它将格式作为字符串数组。 -
@Soner Gönül:这确实很好地解决了最终问题。多个格式字符串的数组可以解决这个问题。随意列出支持的扩展答案。
标签: c# .net datetime datetime-format