DateTime解析问题

dev*_*per 5 .net c# datetime

我试图解析这个日期时间,但它总是返回false.

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

Dar*_*rov 22

月份的模式是资本MM:

"MM/dd/yyyy HH:mm"
Run Code Online (Sandbox Code Playgroud)

mm 代表分钟,你已经在最后使用它了.


thi*_*eek 6

问题是在运行时它在给定字符串中找到两个分钟组件,由解析格式指定.因此,您无法使用指定的格式从给定的输入字符串构造有效的DateTime对象.它发现07并且15两者都是分钟因此问题.

当您使用ParseExact和不使用TryParse 运行代码时,您将获得以下异常.

System.FormatException:DateTime模式'm'使用不同的值出现多次.

解决方案:请注意,mm是几分钟,MM是几个月.在您的特定情况下,您需要告诉哪个部分是月份,哪个是分钟.假设您需要07作为月份,这是您的代码的更正版本.

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