当前位置:首页 > JavaScript

js实现上周

2026-04-05 07:09:05JavaScript

获取上周日期范围的方法

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

方法一:基于当前日期计算

const today = new Date();
const dayOfWeek = today.getDay(); // 0是周日,6是周六
const diffToLastMonday = dayOfWeek === 0 ? 6 : dayOfWeek - 1 + 7; // 处理周日情况

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

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

方法二:使用固定天数偏移

const now = new Date();
const lastWeekStart = new Date(now.getFullYear(), now.getMonth(), now.getDate() - now.getDay() - 6);
const lastWeekEnd = new Date(lastWeekStart);
lastWeekEnd.setDate(lastWeekStart.getDate() + 6);

方法三:ISO周数计算(适用于国际化场景)

js实现上周

function getLastWeekRange() {
  const date = new Date();
  date.setDate(date.getDate() - 7);

  const day = date.getDay();
  const diff = date.getDate() - day + (day === 0 ? -6 : 1);
  const monday = new Date(date.setDate(diff));
  const sunday = new Date(monday);
  sunday.setDate(monday.getDate() + 6);

  return { start: monday, end: sunday };
}

注意事项

  • 周定义需明确:国内通常周一为起始日,西方部分国家以周日为起始日
  • 时间边界处理:建议将开始日设为00:00:00,结束日设为23:59:59
  • 跨月/跨年情况:JavaScript的Date对象会自动处理日期溢出

格式化输出示例

function formatDate(date) {
  return date.toISOString().split('T')[0]; // YYYY-MM-DD格式
}

const lastWeek = getLastWeekRange();
console.log(`上周: ${formatDate(lastWeek.start)} 至 ${formatDate(lastWeek.end)}`);

以上方法均可根据实际需求调整周起始日的定义(周一或周日)以及输出格式。

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

相关文章

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的HT…

js轮播图实现原理

js轮播图实现原理

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

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 /…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

js树实现

js树实现

树的基本概念 树是一种非线性的数据结构,由节点和边组成。每个节点包含一个值和指向子节点的引用。树的顶部节点称为根节点,没有子节点的节点称为叶节点。 树的实现方式 在JavaScript中,树可以通过…