如何在 TypeScript 中为日期添加天数

在 TypeScript 中向日期添加天数

How to add Days to a Date in TypeScript

向日期添加 1 天:

  1. 使用该getDate()方法获取给定日期的月份中的第几天。
  2. 使用该setDate()方法设置一个月中的某一天。
  3. setDate方法将一个月中的第几天作为参数并设置日期值。
索引.ts
const date = new Date('2022-09-23'); // 👇️ add 1 day to Date date.setDate(date.getDate() + 1); // 👇️ Sat Sep 24 2022 console.log(date);

我们使用
Date()
构造函数来创建一个
Date对象。

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

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

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

数字作为参数,并在
Date.

如果您经常这样做,您可以创建一个可重用的函数,将天数和Date对象作为参数。

索引.ts
function addDays(numOfDays: number, date = new Date()) { date.setDate(date.getDate() + numOfDays); return date; } const result1 = addDays(1, new Date('2022-09-23')); console.log(result1); // 👉️ Sat Sep 24 2022

如果将 X 天添加到日期会将我们推入下一个月或下一年,则该Date对象会自动处理月份和年份的滚动。

索引.ts
function addDays(numOfDays: number, date = new Date()) { date.setDate(date.getDate() + numOfDays); return date; } const result1 = addDays(7, new Date('2022-09-25')); console.log(result1); // 👉️ Sun Oct 02 2022

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

请注意,该setDate方法会改变Date调用它的对象。如果您不想Date就地更改,可以在调用该方法之前创建它的副本。
索引.ts
function addDays(numOfDays: number, date = new Date()) { const dateCopy = new Date(date.getTime()); dateCopy.setDate(dateCopy.getDate() + numOfDays); return dateCopy; } const date = new Date('2022-09-25'); const result1 = addDays(3, date); console.log(result1); // 👉️ Wed Sep 28 console.log(date); // 👉️ Sun Sep 25 (didn't change original)

getTime方法返回从

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

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

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

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

发表评论