当前位置:首页 > JavaScript

js实现上周

2026-01-31 15:00:36JavaScript

获取上周日期范围的方法

使用JavaScript获取上周的起始日期(周一)和结束日期(周日)可以通过以下代码实现:

js实现上周

function getLastWeekRange() {
    const today = new Date();
    const dayOfWeek = today.getDay(); // 0(周日)到6(周六)
    const daysToLastMonday = (dayOfWeek + 6) % 7 + 7; // 计算到上周一的天数

    const lastMonday = new Date(today);
    lastMonday.setDate(today.getDate() - daysToLastMonday);
    lastMonday.setHours(0, 0, 0, 0);

    const lastSunday = new Date(lastMonday);
    lastSunday.setDate(lastMonday.getDate() + 6);
    lastSunday.setHours(23, 59, 59, 999);

    return {
        start: lastMonday,
        end: lastSunday
    };
}

格式化日期输出

如果需要将日期格式化为字符串,可以使用以下辅助函数:

js实现上周

function formatDate(date) {
    return date.toISOString().split('T')[0];
    // 或自定义格式:${date.getFullYear()}-${pad(date.getMonth()+1)}-${pad(date.getDate())}
}

function pad(num) {
    return num.toString().padStart(2, '0');
}

获取上周每一天的日期

如果需要获取上周每一天的日期数组:

function getLastWeekDays() {
    const { start } = getLastWeekRange();
    const days = [];

    for (let i = 0; i < 7; i++) {
        const day = new Date(start);
        day.setDate(start.getDate() + i);
        days.push(day);
    }

    return days;
}

注意事项

  • 该方法定义的"一周"是从周一到周日
  • 如果需要周日作为一周的开始,调整daysToLastMonday的计算逻辑
  • 时区处理需根据实际需求调整,示例中使用的是本地时区

标签: 上周js
分享给朋友:

相关文章

js实现求导

js实现求导

实现数值求导的方法 在JavaScript中实现求导通常采用数值方法,因为JavaScript不是符号计算语言。以下是常见的数值微分方法: 中心差分法 中心差分法提供较高精度的导数近似:…

js节流实现

js节流实现

节流的概念 节流(Throttle)是一种限制函数执行频率的技术,确保函数在一定时间间隔内只执行一次。常用于滚动事件、窗口调整等高频触发的场景。 基础实现方法 使用时间戳判断是否执行函数: fun…

js 实现滚动

js 实现滚动

实现滚动的方法 使用 window.scrollTo() window.scrollTo() 方法可以滚动到文档中的特定位置。可以指定 x 和 y 坐标,或者使用平滑滚动的选项。 // 滚动到指定位…

js实现搜索

js实现搜索

实现搜索功能的方法 在JavaScript中实现搜索功能可以通过多种方式完成,以下是几种常见的实现方法。 使用数组的filter方法 通过数组的filter方法可以筛选出符合条件的数据项。假设有一个…

js验证码的实现

js验证码的实现

验证码的基本实现原理 验证码(CAPTCHA)的核心目标是区分人类用户和自动化程序。JavaScript可用于生成或验证客户端验证码,但需注意纯前端验证可能被绕过,通常需结合后端验证。 纯前端验证码…

实现继承js

实现继承js

实现继承的方式 在JavaScript中,实现继承可以通过多种方式完成,每种方式都有其优缺点。以下是几种常见的实现继承的方法: 原型链继承 原型链继承是最基本的继承方式,通过将子类的原型指向父类的实…