Format JavaScript date as yyyy-mm-dd

后端 未结 30 2674
再見小時候
再見小時候 2020-11-22 01:28

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

相关标签:
30条回答
  • 2020-11-22 02:18

    If you use momentjs, now they include a constant for that format YYYY-MM-DD:

    date.format(moment.HTML5_FMT.DATE)
    
    0 讨论(0)
  • 2020-11-22 02:20

    Simply use this:

    var date = new Date('1970-01-01'); // Or your date here
    console.log((date.getMonth() + 1) + '/' + date.getDate() + '/' +  date.getFullYear());
    

    Simple and sweet ;)

    0 讨论(0)
  • 2020-11-22 02:20

    var d = new Date("Sun May 1,2014");
    
    var year  = d.getFullYear();
    var month = d.getMonth() + 1;
    var day   = d.getDate(); 
    
    month = checkZero(month);             
    day   = checkZero(day);
    
    var date = "";
    
    date += year;
    date += "-";
    date += month;
    date += "-";
    date += day;
    
    document.querySelector("#display").innerHTML = date;
        
    function checkZero(i) 
    {
        if (i < 10) 
        {
            i = "0" + i
        };  // add zero in front of numbers < 10
    
        return i;
    }
    <div id="display"></div>

    0 讨论(0)
  • 2020-11-22 02:21
    format = function date2str(x, y) {
        var z = {
            M: x.getMonth() + 1,
            d: x.getDate(),
            h: x.getHours(),
            m: x.getMinutes(),
            s: x.getSeconds()
        };
        y = y.replace(/(M+|d+|h+|m+|s+)/g, function(v) {
            return ((v.length > 1 ? "0" : "") + eval('z.' + v.slice(-1))).slice(-2)
        });
    
        return y.replace(/(y+)/g, function(v) {
            return x.getFullYear().toString().slice(-v.length)
        });
    }
    

    Result:

    format(new Date('Sun May 11,2014'), 'yyyy-MM-dd')
    "2014-05-11
    
    0 讨论(0)
  • 2020-11-22 02:22

    You can use toLocaleDateString('fr-CA') on Date object

    console.log(new Date('Sun May 11,2014').toLocaleDateString('fr-CA'));

    Also I found out that those locales give right result from this locales list List of All Locales and Their Short Codes?

    'en-CA'
    'fr-CA'
    'lt-LT'
    'sv-FI'
    'sv-SE'
    

    var localesList = ["af-ZA",
      "am-ET",
      "ar-AE",
      "ar-BH",
      "ar-DZ",
      "ar-EG",
      "ar-IQ",
      "ar-JO",
      "ar-KW",
      "ar-LB",
      "ar-LY",
      "ar-MA",
      "arn-CL",
      "ar-OM",
      "ar-QA",
      "ar-SA",
      "ar-SY",
      "ar-TN",
      "ar-YE",
      "as-IN",
      "az-Cyrl-AZ",
      "az-Latn-AZ",
      "ba-RU",
      "be-BY",
      "bg-BG",
      "bn-BD",
      "bn-IN",
      "bo-CN",
      "br-FR",
      "bs-Cyrl-BA",
      "bs-Latn-BA",
      "ca-ES",
      "co-FR",
      "cs-CZ",
      "cy-GB",
      "da-DK",
      "de-AT",
      "de-CH",
      "de-DE",
      "de-LI",
      "de-LU",
      "dsb-DE",
      "dv-MV",
      "el-GR",
      "en-029",
      "en-AU",
      "en-BZ",
      "en-CA",
      "en-GB",
      "en-IE",
      "en-IN",
      "en-JM",
      "en-MY",
      "en-NZ",
      "en-PH",
      "en-SG",
      "en-TT",
      "en-US",
      "en-ZA",
      "en-ZW",
      "es-AR",
      "es-BO",
      "es-CL",
      "es-CO",
      "es-CR",
      "es-DO",
      "es-EC",
      "es-ES",
      "es-GT",
      "es-HN",
      "es-MX",
      "es-NI",
      "es-PA",
      "es-PE",
      "es-PR",
      "es-PY",
      "es-SV",
      "es-US",
      "es-UY",
      "es-VE",
      "et-EE",
      "eu-ES",
      "fa-IR",
      "fi-FI",
      "fil-PH",
      "fo-FO",
      "fr-BE",
      "fr-CA",
      "fr-CH",
      "fr-FR",
      "fr-LU",
      "fr-MC",
      "fy-NL",
      "ga-IE",
      "gd-GB",
      "gl-ES",
      "gsw-FR",
      "gu-IN",
      "ha-Latn-NG",
      "he-IL",
      "hi-IN",
      "hr-BA",
      "hr-HR",
      "hsb-DE",
      "hu-HU",
      "hy-AM",
      "id-ID",
      "ig-NG",
      "ii-CN",
      "is-IS",
      "it-CH",
      "it-IT",
      "iu-Cans-CA",
      "iu-Latn-CA",
      "ja-JP",
      "ka-GE",
      "kk-KZ",
      "kl-GL",
      "km-KH",
      "kn-IN",
      "kok-IN",
      "ko-KR",
      "ky-KG",
      "lb-LU",
      "lo-LA",
      "lt-LT",
      "lv-LV",
      "mi-NZ",
      "mk-MK",
      "ml-IN",
      "mn-MN",
      "mn-Mong-CN",
      "moh-CA",
      "mr-IN",
      "ms-BN",
      "ms-MY",
      "mt-MT",
      "nb-NO",
      "ne-NP",
      "nl-BE",
      "nl-NL",
      "nn-NO",
      "nso-ZA",
      "oc-FR",
      "or-IN",
      "pa-IN",
      "pl-PL",
      "prs-AF",
      "ps-AF",
      "pt-BR",
      "pt-PT",
      "qut-GT",
      "quz-BO",
      "quz-EC",
      "quz-PE",
      "rm-CH",
      "ro-RO",
      "ru-RU",
      "rw-RW",
      "sah-RU",
      "sa-IN",
      "se-FI",
      "se-NO",
      "se-SE",
      "si-LK",
      "sk-SK",
      "sl-SI",
      "sma-NO",
      "sma-SE",
      "smj-NO",
      "smj-SE",
      "smn-FI",
      "sms-FI",
      "sq-AL",
      "sr-Cyrl-BA",
      "sr-Cyrl-CS",
      "sr-Cyrl-ME",
      "sr-Cyrl-RS",
      "sr-Latn-BA",
      "sr-Latn-CS",
      "sr-Latn-ME",
      "sr-Latn-RS",
      "sv-FI",
      "sv-SE",
      "sw-KE",
      "syr-SY",
      "ta-IN",
      "te-IN",
      "tg-Cyrl-TJ",
      "th-TH",
      "tk-TM",
      "tn-ZA",
      "tr-TR",
      "tt-RU",
      "tzm-Latn-DZ",
      "ug-CN",
      "uk-UA",
      "ur-PK",
      "uz-Cyrl-UZ",
      "uz-Latn-UZ",
      "vi-VN",
      "wo-SN",
      "xh-ZA",
      "yo-NG",
      "zh-CN",
      "zh-HK",
      "zh-MO",
      "zh-SG",
      "zh-TW",
      "zu-ZA"
    ];
    
    localesList.forEach(lcl => {
      if ("2014-05-11" === new Date('Sun May 11,2014').toLocaleDateString(lcl)) {
        console.log(lcl, new Date('Sun May 11,2014').toLocaleDateString(lcl));
      }
    });

    0 讨论(0)
  • 2020-11-22 02:23

    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/

    0 讨论(0)
提交回复
热议问题