我正在将文件中的日期解析为字符串并将其转换为DateTime
,以便我可以将其与之前的日期进行比较。当我这样做时,我正在丢失毫秒,这非常重要,因为我正在解析我正在解析的文件中的行。
文件中的日期示例我正在解压缩:2014/11/12 10:47:23.571
在我执行ParseExact m_LatestProcessDate
12/11/2014 10:47:23
请参阅以下我正在使用的代码行。我是如何解决这个问题的?
DateTime m_LatestProcessDate = DateTime.ParseExact(m_CurrentDateString,
"yyyy/MM/dd HH:mm:ss.fff",
CultureInfo.InvariantCulture);
答案 0 :(得分:3)
CodeCaster已经explained你的问题了,我想把它作为一个答案,如果他让我的话......
别担心!你的毫秒没有丢失。他们还在那里。听起来当你试图代表你的m_LatestProcessDate
时,你只是没有看到它们,这可能是因为你的DateTime
的字符串表示没有毫秒部分。
例如,如果您使用DateTime.ToString()
method而没有任何参数,则此方法使用"G"
standard format的CurrentCulture
。
此说明符将DateTime
格式化为ShortDatePattern
+ LongTimePattern
。并且没有文化让Millisecond
成为LongTimePattern
。
例如; InvariantCulture
具有HH:mm:ss
格式,不代表毫秒部分。
您可以看到m_LatestProcessDate
之类的毫秒;
Console.WriteLine(m_LatestProcessDate.ToString("fff")); // prints 571