在 JavaScript 中从日期中减去周
从日期中减去周数:
-
使用
getDate()
方法获取特定日期的月份日期。 -
使用
setDate()
方法设置日期的月份日期。 -
setDate
方法将月份中的某天作为参数并设置日期的值。
function subtractWeeks(numOfWeeks, date = new Date()) {
date.setDate(date.getDate() - numOfWeeks * 7);
return date;
}
// 👇️ Subtract 1 week from current date
const result = subtractWeeks(1);
console.log(result);
// 👇️ Subtract 2 weeks from another date
// 👇️ Thu Feb 03 2022
console.log(subtractWeeks(2, new Date('2022-02-17')));
我们创建了一个可重用的函数,它获取周数和一个 Date 对象,然后从日期中减去周数。
如果没有为函数提供 Date 对象,则它使用当前日期。
getDate()
方法返回一个介于 1 和 31 之间的整数,表示该日期的月份中的哪一天。
要从一个月中的某天减去几周,我们必须每周减去 7 天。
setDate()
方法将表示月份中的某天的数字作为参数,并设置 Date 上的值。
JavaScript Date 对象自动负责调整月份和年份,如果从日期中减去 X 周会将我们推到上一个月或上一年。
const date = new Date('2022-04-01');
date.setDate(date.getDate() - 4 * 7);
console.log(date); // 👉️ Fri Mar 04 2022
在示例中从自动调整月份的日期减去 4 周。
注意
,setDate
方法会改变调用它的 Date 对象。 如果不想就地更改日期,可以在调用该方法之前创建它的副本。
function subtractWeeks(numOfWeeks, date = new Date()) {
const dateCopy = new Date(date.getTime());
dateCopy.setDate(dateCopy.getDate() - numOfWeeks * 7);
return dateCopy;
}
const date = new Date('2022-04-27');
const result = subtractWeeks(3, date);
console.log(result); // 👉️ Wed Apr 06 2022
console.log(date); // 👉️ Wed Apr 27 2022
getTime
方法返回从 1970 年 1 月 1 日 00:00:00 到给定日期之间经过的毫秒数。
我们使用时间戳创建了 Date 对象的副本,因此在调用
setDate
方法时我们不会对其进行更改。
当我们必须在代码的其他位置使用原始 Date 对象时,复制日期非常有用。
一般来说,改变函数参数是一种不好的做法,因为多次将相同的参数传递给同一个函数会返回不同的结果。
相关文章
使用 CSS 和 JavaScript 制作文本闪烁
发布时间:2023/04/28 浏览次数:146 分类:CSS
-
本文提供了使用 CSS、JavaScript 和 jQuery 使文本闪烁的详细说明。
在 PHP 变量中存储 Div Id 并将其传递给 JavaScript
发布时间:2023/03/29 浏览次数:69 分类:PHP
-
本文教导将 div id 存储在 PHP 变量中并将其传递给 JavaScript 代码。
在 JavaScript 中从字符串中获取第一个字符
发布时间:2023/03/24 浏览次数:93 分类:JavaScript
-
在本文中,我们将看到如何使用 JavaScript 中的内置方法获取字符串的第一个字符。
在 JavaScript 中获取字符串的最后一个字符
发布时间:2023/03/24 浏览次数:141 分类:JavaScript
-
本教程展示了在 javascript 中获取字符串最后一个字符的方法