可能重复:
在JavaScript中格式化日期
我知道JavaScript Date对象中的其他可能格式,但不知道如何将日期格式化为MM/dd/yyyy HH:mm:ss
格式。
如果您遇到这样的问题,请告诉我。
可能重复:
在JavaScript中格式化日期
我知道JavaScript Date对象中的其他可能格式,但不知道如何将日期格式化为MM/dd/yyyy HH:mm:ss
格式。
如果您遇到这样的问题,请告诉我。
[附注 12/2022]: 这里有一个库,可以使用Intl.DateTimeFormat
格式化日期。
尝试像这样做:
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'
在 jsfiddle 中查看此代码。
[编辑2019年] 使用 ES20xx,您可以使用模板字面量和新的padStart
字符串扩展。
const dt = new Date();
const padL = (nr, len = 2, chr = `0`) => `${nr}`.padStart(2, chr);
console.log(`${
padL(dt.getMonth()+1)}/${
padL(dt.getDate())}/${
dt.getFullYear()} ${
padL(dt.getHours())}:${
padL(dt.getMinutes())}:${
padL(dt.getSeconds())}`
);
var date = new Date();
var dateStr =
("00" + (date.getMonth() + 1)).slice(-2) + "/" +
("00" + date.getDate()).slice(-2) + "/" +
date.getFullYear() + " " +
("00" + date.getHours()).slice(-2) + ":" +
("00" + date.getMinutes()).slice(-2) + ":" +
("00" + date.getSeconds()).slice(-2);
console.log(dateStr);
var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth();
var curr_year = d.getFullYear();
document.write(curr_date + "-" + curr_month + "-" + curr_year);