在javascript中将日期格式从d / m / yyyy转换为yyyy-mm-dd

时间:2016-05-10 09:36:48

标签: javascript date-format

我正在尝试将时间戳从d/m/yyyy转换为yyyy-mm-ddJavaScript。这是我的代码。

        var d = new Date();
        d.setDate(d.getDate()-5);
        temp = d.toLocaleString({minimumIntegerDigits: 2, useGrouping:false}).split(',')[0].split("/").reverse().join("-");
        console.log(temp)

我得到的输出就像2016-5-5一样,但我想要的是2016-05-05。我尝试使用minimumIntegerDigitstoLocaleString之类的选项,但它不起作用。

提前致谢。

2 个答案:

答案 0 :(得分:0)

试试这个

d.toLocaleString().split(',')[0].split("/").map( function(val, index, arr){ 
   if (index < arr.length - 1) 
   { 
     return ("0" + val).slice(-2); 
   } 
   return val;
}).reverse().join("-");

<强>样本

&#13;
&#13;
var d = new Date();
d.setDate(d.getDate() - 5);

var output = d.toLocaleString().split(',')[0].split("/").map(function(val, index, arr) {
  if (index < arr.length - 1) {
    return ("0" + val).slice(-2);
  }
  return val;
}).reverse().join("-");

alert( output )
&#13;
&#13;
&#13;

答案 1 :(得分:0)

使用此

Date.prototype.yyyymmdd = function() {
   var yyyy = this.getFullYear().toString();
   var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based
   var dd  = this.getDate().toString();
   return yyyy + '-' + (mm[1]?mm:"0"+mm[0])+ '-' + (dd[1]?dd:"0"+dd[0]); // padding
  };

d = new Date();
d.yyyymmdd();

与此回答相关Get String in YYYYMMDD format from JS date object?