DateTime.ParseExact()没有查看24小时时间值?

时间:2012-06-27 18:05:43

标签: c# datetime cultureinfo

这行代码:

DateTime dt = DateTime.ParseExact(time, "hh:mm", CultureInfo.InvariantCulture);

解析“时间”值“12:45”就好了,但抛出了“13:00”的例外

我应该使用其他一些CultureInfo值,还是需要将“pm”附加到12以上的小时值,或者......?

错误消息是: System.FormatException未处理   Message = String未被识别为有效的DateTime。

3 个答案:

答案 0 :(得分:51)

“hh”是12小时时钟格式(01到12)。您需要使用“HH”24小时制。

DateTime dt = DateTime.ParseExact(time, "HH:mm", CultureInfo.InvariantCulture);

答案 1 :(得分:2)

试试这个:

DateTime dt = DateTime.ParseExact(time, "u", CultureInfo.InvariantCulture);

"u"表示通用的可排序格式。

答案 2 :(得分:2)

虽然汉斯已经在评论部分回答了您的问题,Here是一个MSDN链接,用于描述与DateTime.ParseExact方法一起使用的各种日期格式。