在 JavaScript 中将月份添加到日期

在 JavaScript 中向日期添加月份

Add Months to a Date in JavaScript

要将月份添加到日期:

  1. 使用该getMonth()方法获取给定日期月份的从零开始的值。
  2. 使用该setMonth()方法设置日期的月份。
  3. setMonth方法采用从零开始的整数作为月份并设置日期值。
索引.js
function addMonths(numOfMonths, date = new Date()) { date.setMonth(date.getMonth() + numOfMonths); return date; } // 👇️ Add 2 months to current Date const result = addMonths(2); // 👇️ Add months to another date const date = new Date('2022-02-24'); console.log(addMonths(3, date)); // 👉️ Tue May 24 2022

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

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

getMonth
()
方法返回一个介于
0(January) 和11(December) 之间的整数,表示给定日期的月份。

请注意,该值是从零开始的,例如 January = 0、February = 1、March = 2 等。

setMonth
()
方法采用一个从零开始的值来表示一年中的月份(0 = 一月,1 = 二月,等等)并设置日期值。

Date如果向日期添加 X 个月将我们推入下一年,则JavaScript对象会自动处理这一年的滚动。

索引.js
const date = new Date('2022-12-24'); date.setMonth(date.getMonth() + 3); console.log(date); // 👉️ Fri Mar 24 2023 (year adjusted)

我们3在日期中添加了月份,这将我们推到了下一年,并且该
Date对象会自动负责更新年份。

请注意,该setMonth方法会改变Date 调用它的对象。如果您不想Date就地更改,可以在调用该方法之前创建它的副本。
索引.js
function addMonths(numOfMonths, date = new Date()) { const dateCopy = new Date(date.getTime()); dateCopy.setMonth(dateCopy.getMonth() + numOfMonths); return dateCopy; } const date = new Date('2022-02-24'); const result = addMonths(1, date); console.log(result); // 👉️ Thu Mar 24 2022 console.log(date); // 👉️ Thu Feb 24 2022 (didn't change original)

getTime方法返回从

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

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

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

通常,改变函数参数是一种不好的做法,因为将相同的参数多次传递给相同的函数会产生不同的结果。

您可能会看到与参数setMonth一起使用的方法。2该方法采用的参数是:

  1. month– 一年中月份的从零开始的值(0 = 一月,1 = 二月,等等)。
  2. day of month(可选)- 一个从1到的整数31,代表一个月中的第几天。

day of the month参数是可选的,如果未指定,getDate()则使用从方法返回的值。

发表评论