var test = DateTime.ParseExact("Feb 4 2014 12:00AM", "MMM dd yyyy HH:mmtt", System.Globalization.CultureInfo.InvariantCulture).ToString("yyy-MM-dd");
System.Diagnostics.Debug.WriteLine(test);
所以我得到了这段代码。我要做的是将Feb 4 2014 12:00AM
转换为2014-02-04
。
我得到的错误就是这个:
类型' System.FormatException'的例外情况发生在mscorlib.dll中但未在用户代码中处理
其他信息:字符串未被识别为有效的DateTime。
但我无法找出错误的原因。有什么想法吗?
答案 0 :(得分:4)
您的格式存在一些问题。它应该是:
"MMM d yyyy hh:mmtt"
使用:
d
表示日期部分,因为它可以容纳单个和两位数的日期,您当前的说明符dd
会希望单个数字日期部分从零开始,如04
。单d
可用于解析单/双位数日期。 hh
代替HH
小时部分,因为您在字符串中有AM
表示您的小时格式为12
小时而不是24
小时。 所以你的代码应该是:
var test = DateTime.ParseExact("Feb 4 2014 12:00AM", "MMM d yyyy hh:mmtt", System.Globalization.CultureInfo.InvariantCulture).ToString("yyy-MM-dd");