0

以下のコードを変更して、日付が現在の状態である 2013 年 1 月 30 日ではなく 2013 年 1 月 30 日になるようにするにはどうすればよいでしょうか?

var d = new Date();
var xdate = [d.getDate(), d.getMonth()+1, d.getFullYear()].join('/');
4

6 に答える 6

2

短い(左)パディング関数は次のとおりです。

function zeroPad(nr,base,chr){
    var  len = (String(base||10).length - String(nr).length)+1;
    return len > 0? new Array(len).join(chr||'0')+nr : nr;
}
//usage
zeroPad(2);          //=> '02'
zeroPad(22);         //=> '22'
zeroPad(22,100);     //=> '022'
zeroPad(22,100,'x'); //=> 'x22'
于 2013-01-30T21:20:57.643 に答える
1

簡単で高速な巨大ライブラリmoment.jsをお勧めします。

moment().format("YYYY-MM-DD")

結果は「2013-01-30」

于 2013-01-30T21:20:59.833 に答える
1

この汎用パッド関数を使用します。

function pad(input,char,width,onleft) {
    input = ""+input;
    var add = new Array(input.length-width+1).join(char);
    if( onleft) return add+input;
    else return input+add;
}

コードに適用すると、次のようになります。

var d = new Date();
var xdate = [d.getDate(), pad(d.getMonth()+1,"0",2,true), d.getFullYear()].join("/");
于 2013-01-30T21:16:19.547 に答える
1
var xdate = [d.getDate(), ('0' + (d.getMonth()+1)).slice(-2), d.getFullYear()].join('/');
于 2013-01-30T21:16:42.837 に答える
1

試す:

var d = new Date(),
    m = d.getMonth()+1,
    xdate = [d.getDate(), (m < 10) ? '0' + m : m, d.getFullYear()].join('/');
于 2013-01-30T21:18:26.037 に答える
0

月が 10 未満かどうかを確認してから 0 を追加することでこれを行う方法がいくつかありますが、私はそれが好きではありません。 /archives/date-time-formatこれは書式設定を完全に処理する優れたライブラリです

于 2013-01-30T21:17:20.187 に答える