DateTime解析问题

时间:2010-07-21 06:25:56

标签: c# .net datetime

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

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

2 个答案:

答案 0 :(得分:22)

月份模式为capital MM

"MM/dd/yyyy HH:mm"

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

答案 1 :(得分:6)

问题是在运行时它会在给定字符串中找到两个分钟组件,这些组件由解析格式指定。因此,您无法使用指定的格式从给定的输入字符串构造有效的DateTime对象。它会将0715都作为分钟找到问题。

使用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)