使用正则表达式显示日期格式

displaying a date format, using a regular expression

本文关键字:日期 格式 显示 正则表达式      更新时间:2023-09-26

我希望有一个非常简单的问题。我想做的是将我创建的日期对象转换为与正则表达式的格式相匹配。问题是我在控制台中得到的值为空。关于如何修改代码使其具有我创建的正则表达式的日期格式,有什么建议吗?

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);
    }

不要使用toDateString,而是使用日期方法逐个构建字符串:

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

不可能判断你想要的是月、日还是月,所以如果需要的话,可以翻转它们。

编辑:您需要在月份和日期上加零以适应regex:

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/