日期时间解析问题

6

我正在尝试解析这个日期时间,但它总是返回 false。

 DateTime.TryParseExact("07/01/2007 12:15", "mm/dd/yyyy HH:mm", new CultureInfo("en-US"), DateTimeStyles.None, out met)

2
你说的“不工作”是什么意思?它应该做什么,现在又没有做什么?你会得到与你问题描述的细节相对应的答案(提供越详细的信息,得到的回答就越好;反之,得到的回答可能不够准确)。 - Oded
2个回答

22
月份的格式为大写的“MM”:

这里有更多相关信息。

"MM/dd/yyyy HH:mm"

mm代表分钟,你已经在结尾处使用了它。


7
问题在于,在运行时,它根据指定的解析格式在给定的字符串中找到了两个分钟部分的组件。因此,您无法使用指定格式的给定输入字符串构造有效的 DateTime 对象。它将 07 和 15 都作为分钟部分找到,因此出现问题。
当您使用 ParseExact 而不是 TryParse 运行代码时,您将收到以下异常。
System.FormatException: DateTime pattern 'm' appears more than once with different values.
解决方案:请注意,mm 是分钟,MM 是月份。在您的特定情况下,您需要告诉哪一部分是月份,哪一部分是分钟。假设您需要将 07 作为月份,则以下是您代码的更正版本。
DateTime.TryParseExact("07/01/2007 12:15", "MM/dd/yyyy HH:mm", new CultureInfo("en-US"), DateTimeStyles.None, out met)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接