この小さなスニペットで奇妙なエラーが発生します。
private int CalculateDifference(DateTime date1, DateTime date2)
{
var difference = date1 - date2;
return Math.Abs((int)difference.TotalSeconds);
}
私の場合、合計 3520789176.4909997 秒の差を計算しています。このプログラムは、10 年間の C# コーディングで見たことのない例外をスローします。
System.OverflowException: "Negating the minimum value of a twos complement number is invalid."
浮動小数点演算に関連していると確信していますが、詳細を理解していないため、2 つの日付値の違いを判断するのに十分なソリューションが必要です。