我正在使用C#,如果我这样做

DateTime.ParseExact("4/4/2010 4:20:00 PM", "M'/'d'/'yyyy H':'mm':'ss' 'tt", null)

返回值始终是4:20 AM-使用tt我在做什么错?

谢谢!

最佳答案

将小时格式(H)转换为小写:

DateTime.ParseExact(
            "4/4/2010 4:20:00 PM",
            "M/d/yyyy h:mm:ss tt",
            CultureInfo.InvariantCulture);

大写字母“H”表示24小时制,小写字母“h”表示12小时制,将遵循候选字符串中的AM/PM。

旁注:最好向此类方法提供IFormatProvider实例(即使只是CultureInfo.InvariantCulture)。在您遇到问题之前,这并不是一件真正重要的事情,因此养成指定文化信息的习惯可能很好。

关于c# - 为什么DateTime.ParseExact()无法使用 “4/4/2010 4:20:00 PM” “M'解析/'d'中的AM/PM/'yyyy H' :'mm' :'ss' 'tt”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2596969/

10-13 05:09