如何在 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+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告