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

IT技术 javascript date date-format
2021-01-26 23:13:29

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

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

如果您遇到此类问题,请告诉我。

4个回答

尝试这样的事情

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字符串扩展名。

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

也可以看看

您的代码完全错误(您不能使用d.getMonth().join('/'))。尝试复制/运行我在答案中给出的代码而不更改它我为你添加了一个 jsfiddle 链接
2021-03-25 23:13:29
你的例子不正确。他要求 MM/dd 而您提供的格式为 dd/MM(欧洲风格)。
2021-03-25 23:13:29
谢谢 Kooilnc,我试过 var d = new Date(); var dformat = [d.getMonth().join('/') + d.getDate().join('/')+ d.getFullYear()].join('/')+' ' +d.getHours ().join(':')+d.getMinutes().join(':')+d.getSeconds()]; 但我收到“未捕获的语法错误:意外的令牌]”。你知道原因吗?谢谢您的帮助
2021-03-26 23:13:29
好,知道了。它给出了从 0 到 11 的月份。
2021-03-27 23:13:29
@JeffFischer是的,这就是为什么说我的回答“试试这样”。不管怎样,特地为你调整了答案。
2021-04-05 23:13:29

您始终可以通过提取部分并使用字符串函数组合它们来格式化日期:

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

应该使用 getDate() 作为日期。无法编辑,因为想要编辑 6 个以上的字符......叹气。
2021-04-02 23:13:29
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 = 新日期();

//调用函数
格式日期(d,4);


函数格式日期(dateObj,格式)
{
    var monthNames = [“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月” "];
    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
    {
        返回 curr_date + "-"+curr_month+ "-"+curr_year;       
    }
    else if(format ==2)//yyyy-mm-dd
    {
        返回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;       
    }
}

-1,这里的编码真的很糟糕
2021-04-09 23:13:29