我在这个小片段上遇到了一个奇怪的错误:
private int CalculateDifference(DateTime date1, DateTime date2)
{
var difference = date1 - date2;
return Math.Abs((int)difference.TotalSeconds);
}
就我而言,我计算的总秒数相差 3520789176.4909997 秒。该程序抛出了一个我在十年的 C# 编码中从未见过的异常:
System.OverflowException: "Negating the minimum value of a twos complement number is invalid."
我很确定它与浮点运算有关,但我不了解细节,我只需要一个足够的解决方案来确定两个日期值的差异。