Если не смотреть внимательно на код, похоже, что ваша ошибка, скорее всего, связана с тем, что ваш формат DD // MM // YYYY.
Ваши вычисления даты, будь они больше или меньше, вычисляютсяматематически, как будто они были просто числами.то есть 02/05/1995 просто рассчитывается как 02051995.
Таким образом, ваше неожиданное поведение заключается в том, что, если вы представите, вы предполагаете, что ДЕНЬ - это самая большая единица, то есть изменение за день, численно технически больше,чем изменение ГОДА, потому что ваши годы - самая маленькая единица, а ваши дни - самые большие.
т.е.03/10/2018 будет больше, чем 02/12/2018, потому что 03102018 больше, чем 02122018.
Измените форматирование при выполнении расчетов на YYYY-MM-DD, чтобы решить вашу проблему.