0

我希望有一个非常简单的问题。我想要做的是转换我创建的日期对象以匹配正则表达式的格式。问题是我在控制台中不断获得的值是空的。关于如何修改我的代码以获得我创建的正则表达式的日期格式的任何建议?

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,而是使用date 方法来逐步构建您的字符串:

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 回答