js生成当前日期起,一周内的日期(格式为月份加日)

发布于 2022-09-03 14:31:59 字数 111 浏览 14 评论 0

我想用js生成一个日期数组,长度为一周(7),我应该怎么判断月初月末的情况,比如8.30 8.31 9.1 9.2 9.3 9.4 9.5这样的跨月份的情况以及大小月份的判断?或者有什么第三方组件能实现这个?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

淡写薰衣草的香 2022-09-10 14:31:59
var result = [];
var now = new Date();
Date.prototype.getMonthDay = function(){
    return (this.getMonth() + 1) + '.' + this.getDate();
}
result.push(now.getMonthDay());
for(var i = 0 ; i < 6 ; i ++){
    now.setDate(now.getDate() + 1);
    result.push(now.getMonthDay())
}
若有似无的小暗淡 2022-09-10 14:31:59

网上的一个日期格式化的扩展

Date.prototype.format = function(format) {
    if (!format) {
        format = this.fullPattern || "yyyy-MM-dd HH:mm:ss";
    }

    var o = {
        "M+": this.getMonth() + 1, // month
        "d+": this.getDate(), // day
        "H+": this.getHours(), // hour (24)
        "h+": this.getHours() % 12, // hour (12)
        "m+": this.getMinutes(), // minute
        "s+": this.getSeconds(), // second
        "q+": Math.floor((this.getMonth() + 3) / 3), // quarter
        "S": this.getMilliseconds()
    };

    if (/(y+)/.test(format)) {
        format = format.replace(RegExp.$1, (this.getFullYear() + "")
            .substr(4 - RegExp.$1.length));
    }

    for (var k in o) {
        if (new RegExp("(" + k + ")").test(format)) {
            format = format.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
        }
    }

    return format;
};

有了这个之后,可以用当天的日期来生成一个数组

var d = new Date();
var r = Array.apply(null, new Array(7))
    .map((v, i) => {
        d.setDate(d.getDate() + i);
        return d.format("MMdd");
    });

console.log(r); 

结果

[ '0908', '0909', '0911', '0914', '0918', '0923', '0929' ]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文