You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中获取上周的起止日期和时间

获取上周起止时间的JavaScript实现

你的核心需求是无论当前处于本周的哪一天,都能精准获取上周的时间范围:上周日00:00 至 上周六23:59:59,现有代码仅能获取本周起止,只需对日期计算逻辑做简单调整即可实现需求。

修改后的代码实现

// 获取当前日期
var curr = new Date();
// 先计算本周第一天(周日)的日期,再减去7天得到上周日
var lastWeekStart = new Date(curr.getFullYear(), curr.getMonth(), curr.getDate() - curr.getDay() - 7);
// 将上周日的时间设置为00:00:00
lastWeekStart.setHours(0, 0, 0, 0);

// 上周六是上周日加6天
var lastWeekEnd = new Date(lastWeekStart);
// 将上周六的时间设置为23:59:59
lastWeekEnd.setDate(lastWeekEnd.getDate() + 6);
lastWeekEnd.setHours(23, 59, 59, 999);

// 转为UTC格式字符串(和原代码输出格式一致)
var firstday = lastWeekStart.toUTCString();
var lastday = lastWeekEnd.toUTCString();

console.log('上周起始时间:', firstday);
console.log('上周结束时间:', lastday);

代码逻辑说明

  • 上周日计算:先通过curr.getDate() - curr.getDay()得到本周日的日期,再减去7天,就能定位到上周日的日期,之后手动将时分秒设为00:00:00,确保起始时间精准。
  • 上周六计算:以上周日为基准,加6天得到上周六,再将时分秒设为23:59:59.999(用999毫秒避免因时间精度问题漏掉临界数据)。
  • 动态适配:无论当前是周一到周日的任意一天,这个逻辑都会自动定位到上一周的完整时间范围,不会随本周内的日期变化而改变目标范围。

内容的提问来源于stack exchange,提问作者Abhigyan Gaurav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 18:55:13