DateTime.ParseExact格式说明符不正确

时间:2016-11-08 15:47:24

标签: c# datetime format

以下代码

[tseetetett]

抛出异常;

  

未处理的类型' System.FormatException'发生在   mscorlib.dll中

     

其他信息:字符串未被识别为有效的DateTime。

执行时。我错过了什么?

1 个答案:

答案 0 :(得分:3)

你正在混合24小时制的说明者" HH"使用AM / PM字符串" tt"。

如果您有24小时时钟格式(00 - 23),那么您不需要AM / PM指定。但是,如果您的时间是AM / PM的12小时格式,您将需要使用" hh"小时说明。

此:

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

或者这个:

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);

应该有效