如何在 JavaScript 中从日期中减去分钟?


在本教程中,我们将学习如何在 JavaScript 中从日期中减去分钟。在开发应用程序时,程序员需要多次处理日期。所有 JavaScript 程序员都很幸运,因为 JavaScript 包含内置的日期类,其中包含数百种不同的方法。

在本教程中,我们将学习使用**原生 JavaScript** 中的**日期对象**和**Moment JS** 库从日期中减去分钟。

使用 getMinutes() 和 setMinutes() 方法

  • 在这种方法中,我们将创建一个新的日期对象,并使用**getMinutes()** 方法从中提取分钟。

  • 之后,我们将通过从日期中获取的分钟中减去分钟来更新分钟。

  • 在下一步中,我们将使用日期类的**setMinutes()** 方法将新的分钟设置为日期对象。

用户可以按照以下语法使用getMinutes( )setMinutes( ) 方法。

语法

let date = new Date(set_date); // create new object of the date class.
let difference = date.getMinutes() – minutes_to_substract; // find difference between minutes date.setMinute( difference ); // set new minutes

参数

  • set_date − 它是日期类对象的可选参数。作为此参数,您可以传递日期和时间以使用它初始化日期对象,否则它使用当前日期和时间初始化日期对象。

示例

以下示例演示了上述方法。

<html>
<head>
   <title> Subtract the minutes from the date </title>
</head>
<body>
   <h3>The getMinutes() and setMinutes() methods in JavaScript.</h3>
   <p>Subtract 132 minutes from the July 31, 2022 11:30:25 :</p>
   <div id="date1"> </div>
   <p>Subtract the 40 minutes from the current time.</p>
   <div id="date2"> </div>
   <script type="text/javascript">
      let date1 = document.getElementById("date1");
      let date2 = document.getElementById("date2");
      
      // substracting the 132 minutes from the July 31, 2022 11:30:25
      let newdate = new Date('July 31, 2022 11:30:25');
      let difference = newdate.getMinutes() - 132;
      newdate.setMinutes(difference);
      date1.innerHTML = newdate;

      // subtracting the 40 minutes from the current time
      newdate = new Date();
      difference = newdate.getMinutes() - 40;
      newdate.setMinutes(difference);
      date2.innerHTML = newdate;
   </script>
</body>
</html>

在第二个输出中,用户可以看到,从当前时间减去 40 分钟后,他们将获得日期和时间。

以毫秒格式从日期中减去分钟

在这种方法中

  • 首先,我们将使用**getTime()** 方法获取日期的总毫秒数。

  • 之后,我们将以毫秒的形式从总毫秒数中减去分钟。

  • 用户可以将分钟乘以 60 秒 * 1000 毫秒,将分钟转换为毫秒。


语法

下面,用户可以看到使用此方法的语法。

let date = new Date( );
let totalMilliSeconds = date.getTime( );
let millisecondsToSubtract = minutes * 60 * 1000;
let newDate = new Date ( totalMilliSeconds – millisecondsToSubtract )

参数

  • minutes − 用户需要将 minutes 替换为数值。它是用户想要从日期中减去的总分钟数。

示例

以下示例演示了如何以毫秒的形式从日期中减去分钟。

<html>
<head>
   <title> Subtract the minutes from the date </title>
</head>
<body>
   <h3> Subtract the Minutes from the date using the getTime() method. </h3>
   <h4> Subtracting the 20 minutes from the 2002-05-23T05:30:40 :</h4>
   <div id="date1"> </div>
   <script type="text/javascript">
      let date1 = document.getElementById("date1");

      // subtracting the 20 minutes from the 2021-02-23T09:33:10
      let oldDate = new Date('2002-05-23T05:30:40');
      let totalMilliSeconds = oldDate.getTime();
      let minutes = 20;
      let millisecondsToSubtract = minutes * 60 * 1000;
      let newDate = new Date(totalMilliSeconds - millisecondsToSubtract)
      date1.innerHTML = newDate;
   </script>
</body>
</html>

在上面的示例中,我们已成功地以毫秒的形式从oldDate 对象中减去了 20 分钟,并获得了上述输出。

使用 Moment JS 库

**Moment JS** 是 JavaScript 中用于管理**日期**对象的特殊库。确实,在原生 JavaScript 中,有各种方法可以管理日期对象,但 Moment JS 使其更易于使用。

在这种方法中,

  • 我们将使用 Moment JS 的subtract() 库函数从给定日期中减去分钟。

  • 要在原生 JavaScript 中使用 Moment JS 库,用户需要在 HTML 代码的< head > 部分添加 Moment JS 的 CDN。


语法

用户可以按照以下语法使用 Moment Js 的 subtract() 方法。

let newDate = moment().subtract( number_of_minuets, 'm').format( );

参数

  • number_of_minutes − 它是我们想要从给定日期对象中减去的总分钟数。

  • 作为第二个参数给出的**“m”** 标志表明我们需要减去第一个参数中给出的分钟。但是,用户可以轻松地更改“m”标志并为年、月、日、时、秒等设置不同的标志。

示例

在下面的示例中,我们在<head> 部分添加了 Moment JS CDN。我们使用moment() 创建了一个新的日期对象,并应用了带有第二个参数“m”的 subtract 方法,以从当前时间减去分钟。

<html>
<head>
   <title> Subtract the minutes from the date </title>
   <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.3/moment-with-locales.min.js" integrity="sha512-vFABRuf5oGUaztndx4KoAEUVQnOvAIFs59y4tO0DILGWhQiFnFHiR+ZJfxLDyJlXgeut9Z07Svuvm+1Jv89w5g==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
</head>
<body>
   <h4> Subtracting the 100 minutes from the current time using Moment Js :</h4>
   <div id="momentOutput1"> </div>
   <script type="text/javascript">
      let momentOutput1 = document.getElementById("momentOutput1");

      // subtract 100 minutes from the current date
      newDate = moment().subtract(100, 'm').format();
      momentOutput1.innerHTML = newDate;
   </script>
</body>
</html>

结论

本教程教我们如何从给定日期中减去分钟。在第一种方法中,我们学习了如何使用两种方法getMinutes()setMinutes() 从日期中减去分钟。在第三种方法中,我们通过编写一行代码完成了相同的工作。因此,Moment JS 是解决本教程中给出的问题的最佳库。

更新于: 2022 年 7 月 20 日

4K+ 次查看

开启你的职业生涯

通过完成课程获得认证

开始学习
广告