DateTime.ParseExact根本不工作,为什么?

时间:2010-11-16 08:48:11

标签: c# .net datetime date-format datetime-parsing

我正在尝试将以下String解析为c#中的DateTime对象:

DateTime.ParseExact("20101108 230125", "yyyyMMdd hhmmss", null)

虽然值看起来正确,ParseExact方法只是给我以下内容:

  

字符串未被识别为有效的DateTime。

任何人都可以告诉我为什么以及如何解析上面的字符串而不必以手动方式进行?是不是ParseExact应该出现在这种场合?

2 个答案:

答案 0 :(得分:21)

你的格式错误了几个小时,应该是大写的:

DateTime.ParseExact("20101108 230125","yyyyMMdd HHmmss", null)

小写hh指定时间使用12小时制(使用AM / PM)。大写HH是24小时制。

有关详细信息,请查看documentation of custom DateTime format strings

答案 1 :(得分:2)

尝试使用:

var dt = DateTime.ParseExact("20101108 230125", "yyyyMMdd HHmmss", null)

“hh”为12小时,“HH”为24小时。