这行代码:
DateTime dt = DateTime.ParseExact(time, "hh:mm", CultureInfo.InvariantCulture);
解析“12:45”的“时间”值就好了,但抛出“13:00”异常
我应该使用其他 CultureInfo 值,还是需要将“pm”附加到 12 以上的小时值,或者...?
错误消息是:未处理 System.FormatException Message=String 未被识别为有效的 DateTime。
这行代码:
DateTime dt = DateTime.ParseExact(time, "hh:mm", CultureInfo.InvariantCulture);
解析“12:45”的“时间”值就好了,但抛出“13:00”异常
我应该使用其他 CultureInfo 值,还是需要将“pm”附加到 12 以上的小时值,或者...?
错误消息是:未处理 System.FormatException Message=String 未被识别为有效的 DateTime。
“hh”是 12 小时制格式(01 到 12)。您需要使用“HH”表示 24 小时制。
DateTime dt = DateTime.ParseExact(time, "HH:mm", CultureInfo.InvariantCulture);
尝试这个:
DateTime dt = DateTime.ParseExact(time, "u", CultureInfo.InvariantCulture);
"u"
表示通用可排序格式。
尽管 Hans 已经在评论部分回答了您的问题,但这里是一个 MSDN 链接,描述了与方法一起使用的各种日期格式DateTime.ParseExact
。