神奇的datetime和datetime,一毫秒引发的血案

今天才发现C#的datetime和sqlserver的daetime是多么的不一样。首先最小和最大值不一样这是众所周知的,其实精度也是一大坑。

比如

DateTime.Today.AddMilliseconds(-1)

 我把这个值直接传数据库,从结果上看还是今天。

DateTime.Today.AddMilliseconds(-2)

 就不会了。但是毫秒级基本不是那么常用,最后吓得我赶紧减了一秒

DateTime.Today.AddSeconds(-1)

 之后我专门去试一下这个精度问题。时间都是以今天(2015-03-14)为基准,每次插入20条数据。

神奇的datetime和datetime,一毫秒引发的血案神奇的datetime和datetime,一毫秒引发的血案神奇的datetime和datetime,一毫秒引发的血案神奇的datetime和datetime,一毫秒引发的血案神奇的datetime和datetime,一毫秒引发的血案神奇的datetime和datetime,一毫秒引发的血案

从左到后,从上到下依次是1,2,3,5,10,25的情况。可以看到,一毫秒的情况最为神奇。