2013-01-25 55 views
3

在我的應用程序上,我爲一個新的DateTime分配了一個DateTime.Now。然後我將它分配給一個值並將其寫入數據庫。但是,當我從數據庫中取回它並將該變量與早先分配的新日期時間進行比較時,它會有幾毫秒的不同。DateTime.Now相差一毫秒

任何人都有一個想法,爲什麼發生這種情況?

E.g.

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

Database.SaveObject = var1 

Object2 = Database.FindObjectById(objectId); 

Assert.AreEqual(var1, Object2.DateTime); 
+0

什麼是你堅持這個值的列的數據類型? – Matt

+0

什麼數據庫ru使用? – Dariusz

+0

我們可以看看'FindObjectById'嗎? –

回答

2

您是否使用MS SQL Server中,日期時間只精確到3毫秒,所以你會發現,這個數字被四捨五入到最接近3毫秒。

MSDN - TSQL DateTime

您可能需要使用DateTime2如果你有SQL2008或更高版本。