这行代码:
DateTime dt = DateTime.ParseExact(time, "hh:mm", CultureInfo.InvariantCulture);
解析“时间”值“12:45”就好了,但抛出了“13:00”的例外
我应该使用其他一些CultureInfo值,还是需要将“pm”附加到12以上的小时值,或者......?
错误消息是: System.FormatException未处理 Message = String未被识别为有效的DateTime。
答案 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
方法一起使用的各种日期格式。