![](/img/trans.png)
[英]c# - Convert string to datetime with DateTime.ParseExact
[英]Cannot convert dateTime string with Datetime.ParseExact
这是我的确切字符串:18-2-2014 00:00:00
我的代码碰到了这个错误:
mscorlib.dll中发生了未处理的“System.FormatException”类型异常
附加信息:字符串未被识别为有效的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
说明符是几分钟。 使用M
说明符 ,持续数月( 1
到12
)。
hh
格式为01
到12
( 12小时制 )。 它没有00
小时。 这就是你应该使用00
到23
( 24小时制 )的HH
格式的原因。
并且没有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
这是一个demonstration
。
有关更多信息,请查看;
注 :由于叶普斯蒂格尼尔森指出 ,因为我们不知道你的文化究竟(可以是nl-BE
或nl-NL
)的ShortDatePattern
一天是d
不dd
。
这就是为什么你可能需要使用d
格式代替dd
。
试试这个:
newDateTime = DateTime.ParseExact(part[0],"dd-M-yyyy HH:mm:ss",
CultureInfo.InvariantCulture);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.