JSFiddle - React, Tailwind, and code Playground

HTML

<input type="button" value="Try" id="try" />

JavaScript

function getDateDiff(date1, date2, interval) {
    var second = 1000,
    minute = second * 60,
    hour = minute * 60,
    day = hour * 24,
    week = day * 7;
    dateone = new Date(date1).getTime();
    datetwo = (date2) ? new Date().getTime() : new Date(date2).getTime();
    var timediff = datetwo - dateone;
 secdate = new Date(date2);
 firdate = new Date(date1);
    if (isNaN(timediff)) return NaN;
    switch (interval) {
    case "anos":
        return secdate.getFullYear() - firdate.getFullYear();
    case "meses":
        return ((secdate.getFullYear() * 12 + secdate.getMonth()) - (firdate.getFullYear() * 12 + firdate.getMonth()));
    case "semanas":
        return Math.floor(timediff / week);
    case "dias":
        return Math.floor(timediff / day);
    case "horas":
        return Math.floor(timediff / hour);
    case "minutos":
        return Math.floor(timediff / minute);
    case "segundos":
        return Math.floor(timediff / second);
    default:
        return undefined;
    }
}

$("#try").click(function(){
    // padrão Ano-Mes-Dia
    dias = getDateDiff('2012-12-25', new Date(), 'dias');
    meses = getDateDiff('2012-12-25', new Date(), 'meses');
    anos = getDateDiff('2012-12-25', new Date(), 'anos');
    
    alert("dias/meses/anos = " + dias + "/" + meses + "/" + anos);        
});