Как получить разность дат?

если есть даты в формате переменных

let var1 = 04.12.21 и var2 = 14.12.21

и строка let str = 04.12.21 - 14.12.21

21 это год

можно получить разность дат в обеих случаях?


Ответы (2 шт):

Автор решения: Rudi

Можно так сделать

function formdat(d){  
  return '20' + d.split('.').reverse().join('-');
}
var date2 = new Date(formdat("04.12.21"));
var date1 = new Date(formdat("14.12.21"));

function calcDate(date1,date2) {
    var diff = Math.floor(date1.getTime() - date2.getTime());
    var day = 1000 * 60 * 60 * 24;

    var days = Math.floor(diff/day);
    var months = Math.floor(days/31);
    var years = Math.floor(months/12);

    var message = date2.toDateString();
    message += " was "
    message += days + " days " 
    message += months + " months "
    message += years + " years ago \n"

    return message
    }


a = calcDate(date1,date2)
console.log(a)

→ Ссылка
Автор решения: Dmitry Kulakov

Я бы рекомендовал не изобретать велосипеды а использовать moment

const date1 = moment('04.12.21', 'DD.MM.YY');
const date2 = moment('14.12.21', 'DD.MM.YY');

const diff = date1.diff(date2, 'days');
console.log(diff) // -10

→ Ссылка