я получаю странные ошибки на этом маленьком фрагменте кода:OverflowException на вычислении разности DateTime
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."
I'm довольно уверен, подмигнул, связанные с плавающей точкой арифметики, но я не понимаю, детали и мне просто нужно достаточное решение для определения разницы двух значений даты.
Прочтите это http://stackoverflow.com/questions/6265381/c-sharp-short-error-negating-the-minimum-value-of-a-twos-complement-number-is-i –
Вы почти уверен в том, что это ложь. –
Int32.MaxValue секунд составляет менее 70 лет. – Corak