在我的应用程序中,我将 DateTime.Now 分配给新的 DateTime。然后我将它分配给一个值并将其写入数据库。但是当我从数据库中取回它并将变量与之前分配的新日期时间进行比较时,它会相差几毫秒。
有人知道为什么会这样吗?
例如
DateTime var1 = DateTime.Now;
Object1.DateTime = var1;
Database.SaveObject = var1
Object2 = Database.FindObjectById(objectId);
Assert.AreEqual(var1, Object2.DateTime);
最佳答案
这很可能是数据库的 datetime
列的精度问题:它没有足够的精度来存储毫秒级的时间。当您使用 datetime
时,时间部分为 rounded to increments of .000, .003, or .007 seconds .
将列的类型切换为 datetime2
应该有帮助,因为它的分辨率是 100 纳秒。
关于c# - DateTime.Now 相差一毫秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14519912/