0

こんにちは、日/月の前に 0 を 1 桁で追加しようとしています。正規表現を使用してみましたが、うまくいかないようです。私が欠けているものはありますか?

var newDate = new Date();
            alert(newDate);
            newDate.setDate(newDate.getDate() + 1);
            alert(newDate);
            var year = newDate.getFullYear();
            alert(year);
            var month = (newDate.getMonth()+1).replace(/\b(\d{1})\b/g, '0$1');
            alert(month);
            var day = newDate.getDate().replace(/\b(\d{1})\b/g, '0$1');
alert(day);
4

3 に答える 3

0

これらの構造を使用したほうがよいでしょう。

var month = (newDate.getMonth()+1).toString();
    month = month.length < 2 ? '0' + month : month;
alert(month);

var day = (newDate.getDate()+1).toString();
    day = day.length < 2 ? '0' + day : day;
alert(day);
于 2013-03-28T10:14:05.687 に答える
0

これはどう:

var month = "" + (newDate.getMonth()+1);
if (month.length==1) month = "0" + month;
alert(month);
var day = "" + newDate.getDate();
if (day.length == 1) day = "0" + day;
alert(day);
于 2013-03-28T10:15:47.747 に答える
0

あなたはreplaceここで数を実行しています。

var month = (newDate.getMonth()+1).replace(/\b(\d{1})\b/g, '0$1');
// ...
var day = newDate.getDate().replace(/\b(\d{1})\b/g, '0$1');

置換を実行する前に、文字列に変換する必要があります。

var month = (newDate.getMonth()+1).toString().replace(/\b(\d{1})\b/g, '0$1');
var day = newDate.getDate().toString().replace(/\b(\d{1})\b/g, '0$1');
于 2013-03-28T10:07:18.793 に答える