默认情况下,C# 将 DateTime 对象与 100ns 节拍进行比较。但是,我的数据库将 DateTime 值返回到最接近的毫秒。使用指定容差在 C# 中比较两个 DateTime 对象的最佳方法是什么?
编辑:我正在处理截断问题,而不是舍入问题。正如乔在下面指出的那样,四舍五入的问题会引入新的问题。
对我有用的解决方案是以下解决方案的组合。
(dateTime1 - dateTime2).Duration() < TimeSpan.FromMilliseconds(1)
如果差异小于一毫秒,则返回 true。为了获得两个日期之间的差异的绝对值,调用 Duration() 很重要。
最佳答案
我通常使用 TimeSpan.FromXXX 方法来做这样的事情:
if((myDate - myOtherDate) > TimeSpan.FromSeconds(10))
{
//Do something here
}
关于c# - 如何使用 C# 中的指定容差比较 DateTime 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/381401/