Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DateTime.ParseExact格式说明符不正确_C#_Datetime_Format - Fatal编程技术网

C# DateTime.ParseExact格式说明符不正确

C# DateTime.ParseExact格式说明符不正确,c#,datetime,format,C#,Datetime,Format,下面的代码 var test = "2016-10-26_02-48-17-PM"; var testTime = DateTime.ParseExact(test, "yyyy-MM-dd_HH-mm-ss-tt", System.Globalization.CultureInfo.InvariantCulture); 抛出异常 中发生类型为“Sys

下面的代码

var test = "2016-10-26_02-48-17-PM";
var testTime = DateTime.ParseExact(test, 
                                   "yyyy-MM-dd_HH-mm-ss-tt", 
                                   System.Globalization.CultureInfo.InvariantCulture);
抛出异常

中发生类型为“System.FormatException”的未处理异常 mscorlib.dll

其他信息:字符串未被识别为有效的日期时间


执行时。我遗漏了什么?

您将24小时说明符“HH”与AM/PM字符串“tt”混合在一起

如果您的时间是24小时制(00-23),那么您不需要AM/PM名称。但是,如果您的时间是12小时格式的AM/PM,则需要使用“hh”小时说明符

这:

或者这个:

var test = "2016-10-26_02-48-17-PM";
var testTime = DateTime.ParseExact(test, "yyyy-MM-dd_hh-mm-ss-tt", System.Globalization.CultureInfo.InvariantCulture);

应该可以工作

您将24小时说明符“HH”与AM/PM字符串“tt”混合在一起

如果您的时间是24小时制(00-23),那么您不需要AM/PM名称。但是,如果您的时间是12小时格式的AM/PM,则需要使用“hh”小时说明符

这:

或者这个:

var test = "2016-10-26_02-48-17-PM";
var testTime = DateTime.ParseExact(test, "yyyy-MM-dd_hh-mm-ss-tt", System.Globalization.CultureInfo.InvariantCulture);

应该可以工作

试着把HH改成HH..试着把HH改成HH..谢谢,我走了另一条路,用
HH
替换
HH
。不过原则是一样的。谢谢,我走了另一条路,保留了
tt
,并将
HH
替换为
HH
。但原则是一样的。