如何格式化日期在 MM/dd/yyyy HH: MM: ss 格式在 JavaScript?

可能的复制品:
在 javascript 中格式化日期

我知道其他可能的格式在 JavaScriptDate 对象,但我没有得到如何格式化日期为 MM/dd/yyyy HH:mm:ss格式。

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

400085 次浏览

Try something like this

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

If you want leading zero's for values < 10, use this number extension

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'

Applied to the previous code:

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'

See this code in jsfiddle

[edit 2019] Using ES20xx, you can use a template literal and the new padStart string extension.

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())}`
);

See also

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);

using this you can format date.

you can change the appearance in the way you want then

for more info you can visit here



var d = new Date();


// calling the function
formatDate(d,4);




function formatDate(dateObj,format)
{
var monthNames = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ];
var curr_date = dateObj.getDate();
var curr_month = dateObj.getMonth();
curr_month = curr_month + 1;
var curr_year = dateObj.getFullYear();
var curr_min = dateObj.getMinutes();
var curr_hr= dateObj.getHours();
var curr_sc= dateObj.getSeconds();
if(curr_month.toString().length == 1)
curr_month = '0' + curr_month;
if(curr_date.toString().length == 1)
curr_date = '0' + curr_date;
if(curr_hr.toString().length == 1)
curr_hr = '0' + curr_hr;
if(curr_min.toString().length == 1)
curr_min = '0' + curr_min;


if(format ==1)//dd-mm-yyyy
{
return curr_date + "-"+curr_month+ "-"+curr_year;
}
else if(format ==2)//yyyy-mm-dd
{
return curr_year + "-"+curr_month+ "-"+curr_date;
}
else if(format ==3)//dd/mm/yyyy
{
return curr_date + "/"+curr_month+ "/"+curr_year;
}
else if(format ==4)// MM/dd/yyyy HH:mm:ss
{
return curr_month+"/"+curr_date +"/"+curr_year+ " "+curr_hr+":"+curr_min+":"+curr_sc;
}
}


You can always format a date by extracting the parts and combine them using string functions in desired order:

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);