当前位置:首页 > JavaScript

js实现上周

2026-03-02 06:08:25JavaScript

获取上周日期范围的方法

在JavaScript中,可以通过Date对象和相关方法计算上周的日期范围。以下是几种实现方式:

方法一:使用setDategetDay

js实现上周

function getLastWeekRange() {
  const today = new Date();
  const dayOfWeek = today.getDay(); // 0-6 (周日到周六)
  const diffToLastMonday = dayOfWeek === 0 ? 6 : dayOfWeek - 1 + 7; // 如果是周日,减去6天;否则计算到上周一的差值

  const lastMonday = new Date(today);
  lastMonday.setDate(today.getDate() - diffToLastMonday);

  const lastSunday = new Date(lastMonday);
  lastSunday.setDate(lastMonday.getDate() + 6);

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

方法二:简化计算(固定减7天)

js实现上周

function getLastWeekRange() {
  const today = new Date();
  const lastWeekStart = new Date(today);
  lastWeekStart.setDate(today.getDate() - 7 - today.getDay() + 1); // 调整为上周一

  const lastWeekEnd = new Date(lastWeekStart);
  lastWeekEnd.setDate(lastWeekStart.getDate() + 6); // 上周日

  return {
    start: lastWeekStart,
    end: lastWeekEnd
  };
}

方法三:使用时间戳计算

function getLastWeekRange() {
  const now = new Date();
  const oneDayMs = 24 * 60 * 60 * 1000;
  const dayOfWeek = now.getDay();

  const lastMonday = new Date(now.getTime() - (dayOfWeek + 6) * oneDayMs);
  const lastSunday = new Date(lastMonday.getTime() + 6 * oneDayMs);

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

格式化输出

如果需要格式化日期为字符串(如YYYY-MM-DD),可扩展上述方法:

function formatDate(date) {
  return date.toISOString().split('T')[0]; // 输出格式如"2023-03-01"
}

// 使用示例
const { start, end } = getLastWeekRange();
console.log(`上周范围: ${formatDate(start)} 至 ${formatDate(end)}`);

注意事项

  • 周的定义需明确:代码中默认周一为周开始(国际标准ISO 8601),如需以周日为开始,调整计算逻辑。
  • 时区问题:toISOString()返回UTC时间,本地时区需使用toLocaleDateString()替代。

以上方法均返回包含上周一和上周日的日期对象,可根据实际需求调整格式或时区处理。

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

相关文章

jquery.js

jquery.js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,用于简化 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它的设计宗旨是“Write Less, Do Mor…

js轮播图实现原理

js轮播图实现原理

轮播图的基本原理 轮播图通过动态切换显示的内容(图片、文本等)实现视觉上的滑动效果。核心原理是利用CSS和JavaScript控制元素的显示与隐藏,或通过变换位置实现滑动动画。 实现方法一:…

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…

js 实现跳转

js 实现跳转

使用 window.location.href 进行跳转 通过修改 window.location.href 可以跳转到指定 URL,浏览器会加载新页面: window.location.hre…