0

うまくいけば、非常に簡単な質問があります。私がやりたいことは、作成した日付オブジェクトを正規表現の形式に一致するように変換することです。問題は、コンソールで取得し続ける値が null であることです。コードを変更して、作成した正規表現の日付形式にする方法について何か提案はありますか?

function getDate() {
        var newdate = new Date();
        var results = newdate.toDateString();
        var exp = new RegExp("[0-9]{4}\\.\[0-9]{2}\\.\[0-9]{2}");
        var newresults = results.match(exp);
        console.log(newresults);
    }
4

1 に答える 1

1

を使用する代わりにtoDateString日付メソッドを使用して、文字列を 1 つずつ作成します。

var results = newdate.getFullYear() + '.' +
    newdate.getMonth() + '.' + newdate.getDate();

月と日、または日と月のどちらが必要かを判断することは不可能なので、必要に応じて反転させてください。

編集:正規表現に合わせて月と日にゼロを埋め込む必要があります:

String.prototype.padZero = function () {
    if (this.length === 1) {
        return '0' + this;
    } else {
        return this;
    }
};

var year = newdate.getFullYear();
var month = newdate.getMonth().toString();
var day = newdate.getDate().toString();

var results = year + '.' + month.padZero()  + '.' + day.padZero();

http://jsfiddle.net/WVCfz/

于 2013-02-25T19:11:17.353 に答える