我有一个奇怪的问题,其中DateTime.Now返回不正确的时间,当我打电话给时间戳日志文件的目的。有问题的代码如下:奇数DateTime.Now()行为
string logDate = DateTime.Now.ToShortDateString();
string logTime = DateTime.Now.ToString("HH:MM:ss");
string wLine = "[" + logDate + " " + logTime + "] " + line;
Console.WriteLine(wLine);
其中“行”变量是传递给该特定方法的字符串。 日期没问题,logTime变量内的时间比应该慢20分钟。运行此应用程序的机器上的时钟是正确的,如果我删除了它正在写入的文本文件,只要应用程序再次运行,它就会重新创建,并且文件本身上创建/修改的标记是正确的。
考虑到文件系统正确报告文件的时间,我很难理解为什么DateTime.Now的速度慢了20分钟 - 我敢肯定它不是DST问题,因为我们只在一个小时内移动了一个小时时间。
有没有其他人看过这个问题,或者至少可以指出我的方向是正确的?
TIA
难道你不是指'H:mm:ss'我很确定'MM'是月份,更多关于DateTime字符串格式的信息http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx – 2013-05-07 06:44:35
另外 - 不要使用'DateTime.Now'。在DST“后退”转换过程中,您将会产生歧义。改为使用'DateTimeOffset.Now'或'DateTime.UtcNow'。见http://codeofmatt.com/2013/04/25/the-case-against-datetime-now/ – 2013-05-07 13:44:59