如何在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;
}
}