c# - DateTime.Now 相差一毫秒

标签 c# datetime time

在我的应用程序中,我将 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/

相关文章:

JavaScript : How do i convert "4/10/2016, 4:00:00PM" to 4 PM?

Python time.ctime() 格式 : 0-padding or space-padding

C#通过socket发送结构体对象

c# - .NET decimal.Negate 与乘以 -1

mysql - 添加同一个月内发生的值 : mysql

sql-server - 如何在 SQL Server 中将纪元时间与 24 小时前进行比较?

ios - 这些日光/夜晚长度近似值的错误在哪里?

c# - 是否可以编写一个 IIS URL 重写规则来检查 HTTP Post 的内容?

c# - 从代码中声明多个字符串

c - C Linux 下的 DST 恢复