1. ホーム
  2. javascript

JavaScriptでMM/dd/yyyy HH:mm:ss形式の日付をフォーマットする方法は?[重複しています]。

2023-09-29 12:45:42

質問

重複の可能性があります。

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を使用すると テンプレートリテラル と、新しい 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')}`
);

参照