Tim*_*lds 8 .net c# datetime parsing
我必须DateTime用yyyyMMddhhmmss格式解析字符串中的对象.
如果我运行此代码,它可以正常工作:
DateTime y = new DateTime(2013, 07, 22, 15, 35, 23);
string x = y.ToString("yyyyMMddhhmmss", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
但是,如果我运行此代码 - 看似相反的操作 - 我得到一个例外:
string x = "20130722153523";
DateTime y = DateTime.ParseExact(x, "yyyyMMddhhmmss", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
例外是:
System.FormatException: String was not recognized as a valid DateTime.
Run Code Online (Sandbox Code Playgroud)
我很难过这里有什么不对劲.我究竟做错了什么?
注意:不要担心时区.我可以稍后处理获得正确的时区.
p.s*_*w.g 20
问题是您指定的日期时间格式使用hh12小时时间格式,但输入字符串15在该区域中.它无法解析这个因为15超出预期范围.
请尝试使用HH24小时时间格式:
string x = "20130722153523";
DateTime y = DateTime.ParseExact(x, "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
进一步阅读: