小编use*_*105的帖子

DateTime差异计算的OverflowException

我在这个小片段上得到一个奇怪的错误:

private int CalculateDifference(DateTime date1, DateTime date2)
{
    var difference = date1 - date2;
    return Math.Abs((int)difference.TotalSeconds);
}
Run Code Online (Sandbox Code Playgroud)

在我的情况下,我正在计算3520789176.4909997总秒数的差异.该程序抛出了我在C#编码十年中从未见过的异常​​:

System.OverflowException: "Negating the minimum value of a twos complement number is invalid."

我很确定它与浮点算术相关,但我不了解细节,我只需要一个足够的解决方案来确定两个日期值的差异.

.net c# floating-point datetime

-1
推荐指数
1
解决办法
228
查看次数

标签 统计

.net ×1

c# ×1

datetime ×1

floating-point ×1