从 JavaScript 中的日期中减去年份

从 JavaScript 中的日期中减去年份

Subtract Years from a Date in JavaScript

从日期中减去年份:

  1. 使用getFullYear()方法获取特定日期的年份。
  2. 使用该setFullYear()方法设置日期的年份。
  3. setFullYear方法将表示年份的数字作为参数并设置日期值。
索引.js
function subtractYears(numOfYears, date = new Date()) { date.setFullYear(date.getFullYear() - numOfYears); return date; } // 👇️ subtract 1 year from current Date const result = subtractYears(1); // 👇️ Subtract 2 years from another Date const date = new Date('2022-04-26'); // 👇️ Sun Apr 26 2020 console.log(subtractYears(2, date));

我们创建了一个可重用的函数,它将年数和一个Date
对象作为参数并从日期中减去年数。

如果未Date提供对象,该函数将使用当前日期。

我们使用
getFullYear
方法获取给定日期的年份。

setFullYear

方法采用表示年份的整数作为参数,并设置日期的值

请注意,该setFullYear方法会改变Date 调用它的对象。如果您不想Date就地更改,请在调用该方法之前创建一个副本。
索引.js
function subtractYears(numOfYears, date = new Date()) { const dateCopy = new Date(date.getTime()); dateCopy.setFullYear(dateCopy.getFullYear() - numOfYears); return dateCopy; } const date = new Date('2022-04-27'); const result = subtractYears(3, date); console.log(result); // 👉️ Sat Apr 27 2019 console.log(date); // 👉️ Wed Apr 27 2022 (didn't change original)

getTime方法返回从

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

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

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

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

发表评论