【问题标题】:C# Can't get String to DateTime conversion to workC# 无法将 String 转换为 DateTime 工作
【发布时间】:2009-07-07 09:46:00
【问题描述】:

在使用 DateTime.ParseExact() 之前,我已经完成了一些简单的字符串 -> DateTime 转换,但是我有一个似乎无法正确解析的字符串。我可能在做一些非常明显的错误,但我就是看不到它是什么。

代码如下:

string date = "Tue Jun 23, 2009 2:23 pm";
DateTime lastupdate = DateTime.ParseExact(date, "ddd MMM dd, yyyy h:mm tt", null);

运行它会产生 FormatException。我的格式字符串不正确吗?

ps 我试过用 p.m.而不是输入字符串中的 pm ,但这也无济于事。

【问题讨论】:

  • 杰瑞,我也看不到,因为你没有发布异常。

标签: c# string datetime


【解决方案1】:

试试这个:

DateTime lastupdate = DateTime.ParseExact(date, "ddd MMM dd, yyyy h:mm tt", new System.Globalization.CultureInfo("en-us"));

如果文化是例如“fr-fr”或“de-de”,则会发生错误。

【讨论】:

  • 为什么这被标记为正确?您的日期不正确,这是导致错误的原因。
  • 做到了。我认为我的系统的区域设置设置为荷兰,所以它可能也在使用这种文化。我(仍然)不知道在解析过程中提供的文化会做什么,因为我确实提供了字符串的格式。我的错。我将进一步阅读这些函数:-)
  • 没有编辑日期。它没有任何问题。 6 月 23 日是一个星期二。我确实编辑了帖子以在其中添加异常。但是weiqure的解决方案是有效的,不是吗?
【解决方案2】:

您需要准确解析它,还是不能只使用 DateTime.Parse?

【讨论】:

    猜你喜欢
    • 2011-03-12
    • 2017-02-07
    • 2015-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-08
    • 2021-10-13
    相关资源
    最近更新 更多