无法解析日期时间格式

Dyl*_*rey 0 c# datetime parsing

我似乎无法解析日期时间,例如,

"7/10/2019 2:52:52 PM".
Run Code Online (Sandbox Code Playgroud)

无论我添加哪种格式都行不通。这是我的代码:

public static DateTime? ToInternal(string source)
{
    if (!DateTime.TryParseExact(
           source,
           PUBLIC_INPUT_FORMAT_STRING,
           System.Globalization.CultureInfo.InvariantCulture,
           System.Globalization.DateTimeStyles.None,
           out DateTime date))
    {
        return null;
    }
    else
    {
        return date;
    }
}

public static string[] PUBLIC_INPUT_FORMAT_STRING =
{
    "yyyy-MM-dd", "dd/M/yyyy", "d/M/yyyy", "d/MM/yyyy",
    "dd/MM/yy", "dd/M/yy", "d/M/yy", "d/MM/yy","yyyy/MM/dd",
    "yyyy-MM-dd HH:mm tt","yyyy'-'MM'-'dd'T'HH':'mm':'ss", 
    "dd/M/yyyy HH:mm:ss tt", "d/MM/yyyy H:mm:ss tt",
    "d/M/yyyy HH:mm:ss", "d/MM/yyyy HH:mm:ss","dd/MM/yyyy HH:mm:ss"
};
Run Code Online (Sandbox Code Playgroud)

Dmi*_*nko 5

您应该提及PMas tt并使用h(not H),因为hour是12-hourformat,即

string source = "7/10/2019 2:52:52 PM";

DateTime result = DateTime.ParseExact(
   source, 
  "M/d/yyyy h:m:s tt",  // if "7/10/2019" means "10 July 2019"
   CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)