如何在 JavaScript 中将日期格式化为 MM/dd/yyyy HH:mm:ss 格式? [重复]

问题描述 投票:0回答:4

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

我知道 JavaScript Date 对象中其他可能的格式,但我不知道如何将日期格式化为

MM/dd/yyyy HH:mm:ss
格式。

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

javascript date date-format
4个回答
169
投票

[附录 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, 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' 

应用于之前的代码:

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

另请参阅


72
投票

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

function formatDate(date) {
  let datePart = [
    date.getMonth() + 1,
    date.getDate(),
    date.getFullYear()
  ].map((n, i) => n.toString().padStart(i === 2 ? 4 : 2, "0")).join("/");
  let timePart = [
    date.getHours(),
    date.getMinutes(),
    date.getSeconds()
  ].map((n) => n.toString().padStart(2, "0")).join(":");
  return datePart + " " + timePart;
}

let date = new Date();
console.log("%o => %s", date, formatDate(date));


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

使用它您可以格式化日期。

您可以按照您想要的方式更改外观

欲了解更多信息,您可以访问这里


-4
投票

var d = new Date();

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


函数 formatDate(dateObj,format)
{
    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)
    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(格式==1)//日-月-年
    {
        返回 curr_date + "-"+curr_month+ "-"+curr_year;
    }
    else if(format ==2)//年-月-日
    {
        返回 curr_year + "-"+curr_month+ "-"+curr_date;
    }
    else if(格式==3)//日/月/年
    {
        返回 curr_date + "/"+curr_month+ "/"+curr_year;
    }
    else if(format ==4)// MM/dd/yyyy HH:mm:ss
    {
        返回 curr_month+"/"+curr_date +"/"+curr_year+ " "+curr_hr+":"+curr_min+":"+curr_sc;
    }
}

© www.soinside.com 2019 - 2024. All rights reserved.