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

如何在JavaScript中以MM/dd/yyyy HH:MM:ss格式格式化日期?,javascript,date,date-format,Javascript,Date,Date Format,可能重复: 我知道JavaScript Date对象中的其他可能格式,但我没有了解如何将日期格式化为MM/dd/yyyy HH:MM:ss格式 如果遇到这样的问题,请告诉我。试试这样的方法 var d = new Date, dformat = [d.getMonth()+1, d.getDate(), d.getFullYear()].join('/')+' '+ [d.getHours(),

可能重复:

我知道JavaScript Date对象中的其他可能格式,但我没有了解如何将日期格式化为
MM/dd/yyyy HH:MM:ss
格式


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

试试这样的方法

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,您可以使用a和新的
padStart
字符串扩展名

var dt=新日期();
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')}`
);
使用这个你可以格式化日期

然后,您可以按自己的方式更改外观

欲了解更多信息,请访问

var d=新日期(); //调用函数 形成日期(d,4); 函数formatDate(dateObj,格式) { var monthNames=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”]; var curr_date=dateObj.getDate(); var curr_month=dateObj.getMonth(); 当前月份=当前月份+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) 当前月份='0'+当前月份; if(curr_date.toString().length==1) 当前日期='0'+当前日期; if(curr_hr.toString().length==1) 当前小时数='0'+当前小时数; if(curr_min.toString().length==1) 当前最小值='0'+当前最小值; 如果(格式==1)//dd-mm-yyyy { 返回当前日期+“-”+当前月份+“-”+当前年份; } 如果(格式==2)//yyyy-mm-dd,则为else { 返回当前年份+“-”+当前月份+“-”+当前日期; } 如果(格式==3)//dd/mm/yyyy { 返回当前日期+“/”+当前月份+“/”+当前年份; } else如果(格式==4)//MM/dd/yyyy HH:MM:ss { 返回当前月份+“/”+当前日期+“/”+当前年份+“+当前人力资源+”:“+当前分钟+”:“+curr\u sc; } }
您始终可以通过提取零件并使用字符串函数组合它们来格式化日期:

var-date=新日期();
dateStr变量=
(“00”+(date.getMonth()+1)).slice(-2)+“/”+
(“00”+date.getDate()).slice(-2)+“/”+
日期。getFullYear()+“”+
(“00”+date.getHours()).slice(-2)+:“+
(“00”+date.getMinutes()).slice(-2)+:“+
(“00”+date.getSeconds()).slice(-2);

console.log(dateStr)所有方法都在日期对象上。你尝试过什么?嗨,科尔宾,我尝试过一些预定义的格式,但没有得到MM/dd/yyyy的预定义格式HH:MM:ssdate.toISOString()。替换(/([^T]+)T([^\.]+).*/g,$1$2')谢谢Kooilnc,我尝试了var d=new Date();var dformat=[d.getMonth().join('/')+d.getDate().join('/')+d.getFullYear().join('/')+'+d.getHours().join(':')+d.getMinutes().join(':')+d.getSeconds()];但我得到了“未捕获的SyntaxError:意外标记]”。你知道原因吗?感谢您的帮助您的代码完全错误(您不能使用
d.getMonth().join('/')
)。尝试复制/运行我在回答中给出的代码,而不进行更改。我为您添加了一个JSFIDLE链接。您的示例不正确。他要的是MM/dd,而你提供的格式是dd/MM(欧洲风格)。@JeffFischer Yep,这就是为什么我的回答说“试试这样的东西”。不管怎样,特别为你调整了答案。好的,明白了。它给出了从0到11的月份。-1,这里非常糟糕的编码应该使用getDate()作为日期。无法编辑,因为希望编辑的字符数超过6个。。。唉。
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);
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; } }