【发布时间】:2011-05-17 20:04:43
【问题描述】:
我在使用 c# 驱动程序使用 Mongo 保存和检索日期时遇到问题。出于某种原因,它会截断刻度。
当我存储这个时:
DateTime -> 5/17/2011 7:59:13 PM
Ticks -> 634412591533741650
我拿回来了:
DateTime -> 5/17/2011 7:59:13 PM
Ticks -> 634412591533740000
所以如果我尝试这样做:
serverDateTime == mongoDateTime
它总是失败。反正围绕这个?
【问题讨论】:
-
如果您不关心比较中的毫秒精度,您可以使用
serverDateTime == mongoDateTime而不是Math.Abs((serverDateTime - mongoDateTime).TotalMilliseconds < 1000 -
这已经足够好了,但是太冗长了,不得不到处做。我想我可以将其作为扩展方法。知道为什么会这样吗?
-
@Bala R 1 tick = 1 万分之一秒,所以我认为你的意思是如果 all 你关心的是毫秒。例如
Math.Abs((serverDateTime - mongoDateTime).TotalMilliseconds) < 1. -
@Conrad 我的逻辑是在一秒钟内忽略任何差异。我没有考虑滴答声,只是考虑了 1000 毫秒 = 1 秒这一事实。
-
@Bala R. 哦,我明白了。我想我脑子里有问题
标签: c# datetime .net-4.0 mongodb