打印日期,如';Y-m-d H:i:s“;在javascript中

打印日期,如';Y-m-d H:i:s“;在javascript中,javascript,Javascript,javascript中是否有一种内置方式可以将日期对象格式化为类似“Y-m-DH:i:s”的格式 我用 var since= new Date(xhr.getResponseHeader("Last-Modified")); alert("modified:: " +since.getDate()+'.'+(since.getMonth()+1)+'. '+ since.getHours()+':'+since.getMinutes()) 但这会切断所有前导零使用此函数: function p

javascript中是否有一种内置方式可以将日期对象格式化为类似“Y-m-DH:i:s”的格式

我用

var since= new Date(xhr.getResponseHeader("Last-Modified"));
alert("modified:: " +since.getDate()+'.'+(since.getMonth()+1)+'. '+ since.getHours()+':'+since.getMinutes())
但这会切断所有前导零

使用此函数:

function pad(number) {
  if ( number < 10 ) {
    return '0' + number;
  }
  return number;
}

pad(since.getDate())+'.'+pad(since.getMonth()+1)+'. '+ pad(since.getHours())+':'+pad(since.getMinutes())
您可以尝试以下方法:

function LeadingZero(s,max) {
    var z = max-s.length+1;
    z = z>1 ? Array(z).join('0') : '';
    return (z + s);     
}

alert("modified:: " +LeadingZero(since.getDate(),2)+'.'+LeadingZero(since.getMonth()+1,2)+'. '+ LeadingZero(since.getHours(),2));
但我建议使用,一个在JS中处理日期的库。它内置了格式化程序,可以做很多其他事情

现在,您可以这样做:

var d = moment(since);
alert(d.format('YYYY-MM-DD HH:mm:ss'));

如果需要的话,创建一个简单的函数来填充零。没有内置的方法可以获得您想要的确切格式。但是您可以使用
since.toISOString()
,这让您很接近。当然,如果您不喜欢这两个建议中的任何一个,那么moment.js()对日期解析和打印有很好的支持
var d = moment(since);
alert(d.format('YYYY-MM-DD HH:mm:ss'));