Показать сообщение отдельно
Старый 14.08.2019, 14:09   #1
SergVK
Member
 
Регистрация: Oct 2018
Сообщения: 78
Благодарил(а): 7 раз(а)
Поблагодарили: 9 раз(а) в 5 сообщениях
По умолчанию Почему GetDays "спешит" на 15 дней?

Добрый день коллеги.

Столкнулся с необходимостью хранить дату и вычислять разницу с текущей, логично преобразовать ее в количество дней и хранить как одно число long.
И вот тут возникла загвоздка.

По описанию функции GetDays выдает количество дней прошедших с 01.01.0001.

Есть общепринятый алгоритм расчета дня по Юлианскому и Григорианскому календарю, например такой
wiki

Если считать по нему 01.01.0001 это 1721426 й день
Например сегодня 14.08.2019 это 2458710 й день
Разница 737284 дней.
GetDays выдает 737300. Ошибка 15 дней?

Понятно, что можно эту ошибку учесть и не париться, но хотелось бы понять, откуда она берется, где и когда ждать подвоха.
SergVK вне форума   Ответить с цитированием