使用 JavaScript 将星期添加到日期

使用 JavaScript 将周添加到日期

Add Weeks to a Date using JavaScript

在日期中添加周数:

  1. 使用该getDate()方法获取特定日期所在月份的第几天。
  2. 使用该setDate()方法为日期设置月份中的第几天。
  3. setDate方法将一个月中的第几天作为参数并设置日期值。
索引.js
function addWeeks(numOfWeeks, date = new Date()) { date.setDate(date.getDate() + numOfWeeks * 7); return date; } // Add 2 weeks to current Date console.log(addWeeks(2)); // 👇️ Mon Feb 28 2022 console.log(addWeeks(2, new Date('2022-02-14')));

我们创建了一个可重用的函数,它接受周数和一个Date
对象并将周数添加到日期中。

如果没有Date向函数提供对象,则它使用当前日期。

getDate()1方法返回一个介于和之间

整数,
31它代表日期所在月份的第几天。

要将星期添加到一个月中的某一天,我们必须7为每个星期添加天数。

setDate()方法采用一个表示月份日期的

数字作为参数,并在
Date.

如果向日期添加 X 周会增加月份和年份,则JavaScriptDate对象会自动处理月份和/或年份的滚动。

索引.js
const date = new Date('2022-02-01'); console.log(date); // 👉️ Tue Feb 01 2022 date.setDate(date.getDate() + 4 * 7); console.log(date); // 👉️ Tue Mar 01 2022

这对我们来说非常方便,因为我们不必担心添加 X 周会将我们推到下一个月/一年的情况。

请注意,该setDate方法会改变Date调用它的对象。如果您不想Date就地更改,可以在调用该方法之前创建它的副本。
索引.js
function addWeeks(numOfWeeks, date = new Date()) { const dateCopy = new Date(date.getTime()); dateCopy.setDate(dateCopy.getDate() + numOfWeeks * 7); return dateCopy; } const date = new Date('2022-02-13'); const result = addWeeks(2, date); console.log(result); // 👉️ Sun Feb 27 2022 console.log(date); // 👉️ Sun Feb 13 2022 (didn't change original)

getTime方法返回从

1970 年 1 月 1 日 00:00:00 到给定日期之间经过的毫秒数。

我们使用时间戳来创建对象的副本,因此我们不会在调用方法Date时就地改变它。setDate

Date当您必须在代码的其他地方使用原始对象时,复制日期非常有用。

一般来说,改变函数参数是一种不好的做法,因为将相同的参数多次传递给同一个函数会返回不同的结果。

发表评论