一尘不染

如何在JavaScript中以MM / dd / yyyy HH:mm:ss格式设置日期格式?[重复]

javascript

我知道JavaScript日期对象中的其他可能格式,但是我没有了解如何格式化日期以进行MM/dd/yyyy HH:mm:ss格式化。

如果您遇到这样的问题,请告诉我。


阅读 268

收藏
2020-05-01

共1个答案

一尘不染

试试这个

var d = new Date,
    dformat = [d.getMonth()+1,
               d.getDate(),
               d.getFullYear()].join('/')+' '+
              [d.getHours(),
               d.getMinutes(),
               d.getSeconds()].join(':');

如果要在值<10的前导零,请使用此数字扩展名

Number.prototype.padLeft = function(base,chr){
    var  len = (String(base || 10).length - String(this).length)+1;
    return len > 0? new Array(len).join(chr || '0')+this : this;
}
// usage
//=> 3..padLeft() => '03'
//=> 3..padLeft(100,'-') => '--3'

应用于先前的代码:

var d = new Date,
    dformat = [(d.getMonth()+1).padLeft(),
               d.getDate().padLeft(),
               d.getFullYear()].join('/') +' ' +
              [d.getHours().padLeft(),
               d.getMinutes().padLeft(),
               d.getSeconds().padLeft()].join(':');
//=> dformat => '05/17/2012 10:52:21'

[ edit 2019]使用ES20xx,您可以使用模板文字和新的padStart字符串扩展名。

var dt = new Date();



console.log(`${

    (dt.getMonth()+1).toString().padStart(2, '0')}/${

    dt.getDate().toString().padStart(2, '0')}/${

    dt.getFullYear().toString().padStart(4, '0')} ${

    dt.getHours().toString().padStart(2, '0')}:${

    dt.getMinutes().toString().padStart(2, '0')}:${

    dt.getSeconds().toString().padStart(2, '0')}`

);
2020-05-01