【问题标题】:String was not recognized as a valid DateTime ParseExact字符串未被识别为有效的 DateTime ParseExact
【发布时间】:2010-02-04 06:06:55
【问题描述】:

我正在尝试在 c# 中解析日期并具有以下代码行

DateTime.ParseExact(DateSelected, "ddd MMM dd HH:mm:ss zzz yyyy", Culture)

当我调试 DateSelected 以“2010 年 2 月 16 日星期二 12:36:41 CST”的形式出现时,但我得到一个预期,说“字符串未被识别为有效的 DateTime。”

【问题讨论】:

  • 什么是“文化”?它应该是一种英语文化。

标签: c# .net


【解决方案1】:

this previous question 之后,无法识别区域缩写。试试这个:

DateTime parsed = DateTime.ParseExact(
    "Tue Feb 16 12:36:41 CST 2010".Replace("CST", "+02:00"), 
    "ddd MMM dd HH:mm:ss zzz yyyy",
    new CultureInfo("en-GB"));

这个链接也很有用:

【讨论】:

  • 如果有一个完整的时区列表,这可能非常干净。
  • 如何将其转换为年月日 ---> 2011-06-20。我不需要像 CST Tue Feb 和 hours 这样的附加信息。有人可以吗?
猜你喜欢
  • 1970-01-01
  • 2013-01-28
  • 1970-01-01
  • 2013-11-10
  • 2011-09-12
  • 2021-05-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多