在仔细研究了SO之后,我仍然看不到这里发生的任何事情。
string[] Formats = new string[] { "dd MMM YYYY HH:mm:ss:fff", "YYYY-MM-dd hh:mm:ss:fff" };
DateTime t = new DateTime();
if (DateTime.TryParseExact(
dataItem.Trim(),
Formats ,
System.Globalization.DateTimeFormatInfo.InvariantInfo,
System.Globalization.DateTimeStyles.None,
out t)
== false)
return false;
else
return DoOtherStuff(dataItem);
传入数据“ dataItem
”是string
。传入的文本如下所示:
2016年1月2日13:15:49:447
我想念什么?为什么无论日期如何,它总是返回“ false”?我尝试将字符串转换为大写字母,但没有任何改变。
答案 0 :(得分:5)
问题是YYYY
大写。您要查找的正确年份符号是yyyy
。
string[] Formats = new string[] { "dd MMM yyyy HH:mm:ss:fff", "yyyy-MM-dd hh:mm:ss:fff" };
应该可以工作。