DateTime丢失毫秒

时间:2014-11-13 11:25:38

标签: c# string date datetime

我正在将文件中的日期解析为字符串并将其转换为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);

1 个答案:

答案 0 :(得分:3)

CodeCaster已经explained你的问题了,我想把它作为一个答案,如果他让我的话......

别担心!你的毫秒没有丢失。他们还在那里。听起来当你试图代表你的m_LatestProcessDate时,你只是没有看到它们,这可能是因为你的DateTime字符串表示没有毫秒部分。

enter image description here

例如,如果您使用DateTime.ToString() method而没有任何参数,则此方法使用"G" standard formatCurrentCulture

此说明符将DateTime格式化为ShortDatePattern + LongTimePattern。并且没有文化Millisecond成为LongTimePattern

例如; InvariantCulture具有HH:mm:ss格式,不代表毫秒部分。

您可以看到m_LatestProcessDate之类的毫秒;

Console.WriteLine(m_LatestProcessDate.ToString("fff")); // prints 571