javascriptdateformatdatetime

Return dd-mm-yyyy from Date() object


Desired return value should be a string formatted as dd-mm-yyyy.

Im trying to give a format date dd-mm-yyyy to ISOString and adding GMT but the code gives me this format. How can i do?

new Date().toISOString()
    .replace(/T/, ' ').      // replace T with a space
    .replace(/\..+/, '');     // delete the dot and everything after

'2012-11-04 14:55:45'


Solution

  • im looking for 04-11-2012 date format

    Using today's date (which as an ISO string is currently "2016-03-08T13:51:13.382Z"), you can do this:

    new Date().toISOString().replace(/T.*/,'').split('-').reverse().join('-')
    

    The output of this is:

    -> "08-03-2016"
    

    This:

    1. Grabs the date.
    2. Converts it to an ISO string.
    3. Replaces the 'T' and everything after it.
    4. Converts it into an array by splitting on any hyphen ('-') character. (["2016", "03", "08"])
    5. Reverses the order of the array. (["08", "03", "2016"])
    6. Joins the array back as a string, separating each value with a hyphen character.

    Here is a demo using your date (2012-11-04T14:55:45.000Z) as input:

    var input = "2012-11-04T14:55:45.000Z",
        output;
    
    output = new Date(input).toISOString().replace(/T.*/,'').split('-').reverse().join('-');
    
    document.getElementById('input').innerHTML = input;
    document.getElementById('output').innerHTML = output;
    <p><strong>Input:</strong> <span id=input></span></p>
    <p><strong>Output:</strong> <span id=output></span></p>