通过年和周判断这一周的日期

周日到周六
复制代码
var week_days=year_week_days(2023, 6);//2023年的第6周
        console.log(week_days,'周日到周六');
        function year_week_days(year, week) {
            var d = new Date(year, 0, 1);
            var time = d.getTime();
            var t = week * 7 * 24 * 3600 * 1000;
            time += t;
            d = new Date(time);
            var w = d.getDay();
            var d1 = new Date(time - (w + 7) * 24 * 3600 * 1000);
            var d2 = new Date(time - (w + 6) * 24 * 3600 * 1000);
            var d3 = new Date(time - (w + 5) * 24 * 3600 * 1000);
            var d4 = new Date(time - (w + 4) * 24 * 3600 * 1000);
            var d5 = new Date(time - (w + 3) * 24 * 3600 * 1000);
            var d6 = new Date(time - (w + 2) * 24 * 3600 * 1000);
            var d7 = new Date(time + ((-1 - w) * 24 * 3600 * 1000));
            return [print_day(d1), print_day(d2), print_day(d3), print_day(d4), print_day(d5), print_day(d6), print_day(d7)]
        };
复制代码
周一到周日
复制代码
var week_day=year_week_day(2023, 6);//2023年的第6周
        console.log(week_day,"周一到周日");
        function year_week_day(year, week) {
            var d = new Date(year, 0, 1);
            var time = d.getTime();
            var t = week * 7 * 24 * 3600 * 1000;
            time += t;
            d = new Date(time);
            var w = d.getDay();
            var d1 = new Date(time - (w+6) * 24 * 3600 * 1000);
            var d2 = new Date(time - (w+5) * 24 * 3600 * 1000);
            var d3 = new Date(time - (w+4) * 24 * 3600 * 1000);
            var d4 = new Date(time - (w +3) * 24 * 3600 * 1000);
            var d5 = new Date(time - (w+2) * 24 * 3600 * 1000);
            var d6 = new Date(time - (w+1) * 24 * 3600 * 1000);
            var d7 = new Date(time + ((0-w) * 24 * 3600 * 1000));
            return [print_day(d1),print_day(d2),print_day(d3),print_day(d4),print_day(d5),print_day(d6),print_day(d7)]
        }
复制代码

公用函数代码 print_day

function print_day(d) {
            var y = d.getFullYear();
            var m = d.getMonth() + 1;
            m = m < 10 ? "0" + m : "" + m;
            var day = d.getDate();
            day = day < 10 ? "0" + day : "" + day;
            return(y + "-" + m + "-" + day);
        };

 

 

posted @   芬-mi  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示