DateTime.Now相差一毫秒

Nic*_*rre 4 c# time datetime

在我的应用程序上,我将DateTime.Now分配给新的DateTime.然后我将它分配给一个值并将其写入数据库.但是当我从数据库中取回它并将变量与先前分配的新日期时间进行比较时,它会相差几毫秒.

任何人都知道为什么会这样?

例如

DateTime var1 = DateTime.Now;
Object1.DateTime = var1;

Database.SaveObject = var1

Object2 = Database.FindObjectById(objectId);

Assert.AreEqual(var1, Object2.DateTime);
Run Code Online (Sandbox Code Playgroud)

das*_*ght 7

这很可能是DB datetime列精度的一个问题:它没有足够的精度来存储高达一毫秒的时间.使用时datetime,时间部分将四舍五入为.000,.003或.007秒的增量.

切换列的类型datetime2应该有所帮助,因为它的分辨率是100纳秒.