Format JavaScript date as yyyy-mm-dd

user3625547 picture user3625547 · May 11, 2014 · Viewed 1.1M times · Source

I have a date with the format Sun May 11,2014. How can I convert it to 2014-05-11 using JavaScript?

The code above gives me the same date format, sun may 11,2014. How can I fix this?

Answer

user3470953 picture user3470953 · May 11, 2014

You can do:

function formatDate(date) {
    var d = new Date(date),
        month = '' + (d.getMonth() + 1),
        day = '' + d.getDate(),
        year = d.getFullYear();

    if (month.length < 2) 
        month = '0' + month;
    if (day.length < 2) 
        day = '0' + day;

    return [year, month, day].join('-');
}

Usage example:

alert(formatDate('Sun May 11,2014'));

Output:

2014-05-11

Demo on JSFiddle: http://jsfiddle.net/abdulrauf6182012/2Frm3/