作者:不要哭开心就好_723 | 来源:互联网 | 2022-12-06 13:22
我有一个日期在日志文件中使用以下格式:"dMMyyHHmmss".
因为如果找到的格式不是那个,我想抛出一个异常,我正在使用DateTime.ParseExact.问题是我收到了一个FormatException,其中包含以下消息:
'String'.....'未被识别为有效的DateTime.
模拟这个的代码是:
var format = "dMMyyHHmmss";
var date = new DateTime(2018, 1, 1, 1, 1, 1);
var strDate = date.ToString(format);
date = DateTime.ParseExact(strDate, format, CultureInfo.InvariantCulture);
有什么想法我不能使用那种格式?
1> Steve..:
那是因为LL解析器的格式有些模棱两可.
你得到的字符串是 10118010101
解析器读取1
和是这样,确定它是一个1
用于d
然后读取0
和困惑,它应该是10
对d
还是应1
为d
与01
对MM
?
如果在中间添加分隔符或使用dd
而不是d
使语法明确,则可以使解析器满意