c# - 如何使用 C# 中的指定容差比较 DateTime 对象?

标签 c# datetime comparison resolution

默认情况下,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/

相关文章:

c# - Linq - 从字典中获取所有键,其中值列表中的所有值都等于条件

c# - 如何在 C# 中的 DateTime 中指定日期和月份而不是年份

python - 在 Python 中将当前时间提前一小时

c# - 将波斯日期转换为公历日期

r - 将 float 序列与向量进行比较

c# - 交换技巧 : a=b+(b=a)*0;

c# - C# 中是否有代码同义词之类的东西?

c# 在运行时检查两个对象是否可比较

c# - NServiceBus 指定处理程序执行的顺序

java - 比较两个数组列表