обе даты (дата на входе и текущая дата) должны быть заданы в одном и том же часовом поясе
между двумя датами могли переводить время, тогда, возможно, нужно прибавить или отнять 1 час
года бывают високосные и нет
если примерное значение устроит, то разница двух объектов Date — число миллисекунд между ними
делением
на 1000 — секунды
на 60000 — минуты
на 3600000 — часы
на 86400000 — сутки
на 31536000000 — годы