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)
您应该提及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)