从 JavaScript 中的日期中减去分钟数

在 JavaScript 中从日期中减去分钟数

Subtract Minutes from a Date in JavaScript

将日期减去分钟数:

  1. 使用该getMinutes()方法获取给定日期的分钟数。
  2. 使用该setMinutes()方法设置日期的分钟数。
  3. setMinutes方法将分钟作为参数并设置日期值。
索引.js
function subtractMinutes(numOfMinutes, date = new Date()) { date.setMinutes(date.getMinutes() - numOfMinutes); return date; } // 👇️ Subtract 15 minutes from current Date const result = subtractMinutes(15); // 👇️ Subtract 20 minutes from another date const date = new Date('2022-06-24T08:35:10.820'); // 👇️ Fri Jun 24 2022 08:15:10 console.log(subtractMinutes(20, date));

我们创建了一个可重用的函数,它接受分钟数和一个Date
对象,并从日期中减去分钟数。

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

getMinutes()
方法返回一个介于
0和之间
数字
59,表示给定日期中的分钟数。

setMinutes()方法将

表示分钟的数字作为参数,并设置日期值。

如果从日期中减去 X 分钟更改了它们的值,则JavaScriptDate对象会自动调整小时、天、月和年。

索引.js
const date = new Date('2022-06-24T00:15:10.820'); date.setMinutes(date.getMinutes() - 35); console.log(date); // 👉️ Thu Jun 23 2022 23:40:10

该示例显示了从日期中减去分钟数如何自动调整对象35上月份的小时和日期。Date

请注意,该setMinutes方法会改变Date 调用它的对象。如果您不想Date就地更改,可以在调用该方法之前创建它的副本。
索引.js
function subtractMinutes(numOfMinutes, date = new Date()) { const dateCopy = new Date(date.getTime()); dateCopy.setMinutes(dateCopy.getMinutes() - numOfMinutes); return dateCopy; } const date = new Date('2022-06-24T07:35:10.820'); const result = subtractMinutes(15, date); console.log(result); // 👉️ Fri Jun 24 2022 07:20:10 console.log(date); // 👉️ Fri Jun 24 2022 07:35:10 (didn't change original)

getTime方法返回从

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

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

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

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

发表评论