该字符串未被识别为有效的 DateTime
C#字符串转DateTime
作者:灵感联盟
我在工作中遇到了这样一个错误提示 : 该字符串未被识别为有效的 DateTime;
字面上看就是字符串转换dateTime失败了呗,但是我之前运行是好好的。代码是这样的
DateTime dt= DateTime.ParseExact(formatDate(time), "yyyy-MM-dd hh:mm:ss",CultureInfo.CurrentCulture)
我检查一遍确实没有错啊。
后来我发现偶尔能成功,我对比一下两组数据发现我字符串格式错了。因为数字不满10的时候是一位数,但是时间格式上是两位。比如2020-03-29 6:3:9,按照我写的系统识别的格式应该这样2020-03-29 06:03:09.于是我把时间格式改成了yyyy-MM-dd h-m-s。这样一来既可以匹配一位数的时间格式也可以匹配两位数的。相对于写一个改变字符串格式的方法,这样更简单一点。
本以为万事大吉,结果下午又出现同样的错误提示 :该字符串未被识别为有效的 DateTime;
感觉有点发狂了,本来解决掉的怎么三番五次报错。这次我去查了下博客。发现还真是我写的问题。
h小写代表12小时格式的,也就是13:00识别不了。把h改成大写H。这次果然没有再报错了。
DateTime d