javascript - 如何格式化 MM/dd/yyyy HH :mm:ss format in JavaScript? 中的日期

标签 javascript date date-format

<分区>

Possible Duplicate:
Formatting a date in javascript

我知道 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'

请参阅 jsfiddle 中的此代码

[edit 2019] 使用 ES20xx,您可以使用 template literal和新的 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())}`
);

See also

关于javascript - 如何格式化 MM/dd/yyyy HH :mm:ss format in JavaScript? 中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10632346/

相关文章:

javascript - 我无法理解 Array.prootype.slice.call

java - 将日期字符串转换为 java.sql.Date 格式

java - 将日期时间字符串从一个时区 A 转换为时区 B,其中 jvm 在时区 C 中运行

java - JAVA中字符串转日期问题(日期解析)

javascript - 关于 WDDatePicker 格式的小查询

javascript - 如何从 DOM 获取元素并设置 onclick 事件?

javascript - json 对象到 javascript 全局引用

Javascript——在循环中附加事件

php - MySQL:统计A月到B月的数据

java - 用于序列化/反序列化 unix 时间戳的 Gson 日期格式