我有一个用 C# .NET 3.5 编写的 WinForms 应用程序。此应用程序与 SQL Server 2008 交互。每当我将记录添加到数据库中时,我都会将 DateAdd
列插入到 DateTime.Now
中。无论出于何种原因,我有 4 条日期奇数的记录:
'1980-01-03 23:08:43.970'
'1980-01-03 23:08:44.157'
'1980-01-03 23:08:44.530'
'1980-01-03 23:08:45.547'
这些前后的记录都有正确的日期'2011-05-29 XX:XX:XX.XXX'
。用户无权修改任何应用程序中的日期字段。
日期会这样改变有什么原因吗?用户无权修改他们的系统时间,我假设这是 DateTime.Now 从中收集日期的地方。
基本上,我得出的结论是,要么存在错误,要么用户的 Delorean 配备了磁通电容器...
最佳答案
如果这是客户端 Windows 应用程序,请检查相关用户正在使用的计算机上的系统时间。另外,我不知道这是否是最佳实践,但我发现如果我在 SQLSERVER 中使用 GetDate() 而不是从 C#.NET 应用程序传递日期,在我需要记录当前日期的情况下更容易维护时间。
关于c# - DateTime.Now 返回奇怪的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6178232/