这是我的确切字符串:18-2-2014 00:00:00
我的代码碰到了这个错误:
An unhandled exception of type ‘System.FormatException’ occurred in
mscorlib.dllAdditional information: String was not recognized as a valid DateTime.
在这一行:
newDateTime = DateTime.ParseExact(
part[0],
"dd-mm-jjjj hh:mm:ss",
CultureInfo.InvariantCulture
); //I tried a couple of time string variations, but it should be the above or "dd-m-jjjj hh:mm:ss".
我究竟做错了什么?
最佳答案
mm
specifier是分钟.使用
M
specifier,这是几个月(1到12).
hh
格式为01至12(12小时制).它没有00小时.这就是为什么你应该使用HH
格式,即00到23(24小时制).
并且没有jjjj日期和时间格式说明符,我认为你想使用yyyy
格式.
var s = "18-2-2014 00:00:00";
var date = DateTime.ParseExact(s,
"dd-M-yyyy HH:mm:ss",
CultureInfo.InvariantCulture);
Console.WriteLine(date);
输出将是;
2/18/2014 12:00:00 AM
有关更多信息,请查看;
> Custom Date and Time Format Strings
注意:作为Jeppe Stig Nielsen pointed,由于我们完全不知道你的文化(可以是nl-BE或nl-NL),你的ShortDatePattern
天不是dd.
这就是为什么你可能需要使用d格式代替dd.