Skip to main content

get Date of birth in text JavaScript Dynamics CRM

function getAge(fromdate, todate) {

    var currentDate = new Date();
    if (todate) todate = new Date(todate);
    else todate = new Date();

    if (fromdate) fromdate = new Date(fromdate);
    else fromdate = new Date();

    if (fromdate.valueOf() > todate.valueOf()) {
        // if future date
    } else {
        var age = [],
            fromdate = new Date(fromdate),
            y = [todate.getFullYear(), fromdate.getFullYear()],
            ydiff = y[0] - y[1],
            m = [todate.getMonth(), fromdate.getMonth()],
            mdiff = m[0] - m[1],
            d = [todate.getDate(), fromdate.getDate()],
            ddiff = d[0] - d[1];

        if (mdiff < 0 || (mdiff === 0 && ddiff < 0)) --ydiff;
        if (mdiff < 0) mdiff += 12;
        if (ddiff < 0) {
            fromdate.setMonth(m[1] + 1, 0);
            ddiff = fromdate.getDate() - d[1] + d[0];
            --mdiff;
        }
        if (ydiff > -1) age.push(ydiff + ' year' + (ydiff > 1 ? 's ' : ' '));
        if (mdiff > -1) age.push(mdiff + ' month' + (mdiff > 1 ? 's' : ''));
        if (ddiff > -1) age.push(ddiff + ' day' + (ddiff > 1 ? 's' : ''));
        if (age.length > 1) age.splice(age.length - 1, 0, ' and ');
        return age.join('');
    }
}

Comments