如何在 JavaScript 中从日期中减去天数?

javascriptserver side programmingprogramming

在本教程中,我们将学习如何在 JavaScript 中从日期中减去天数。要从 JavaScript Date 对象中减去天数,请使用 setDate() 方法。在此方法下,获取当前天数并减去天数。 JavaScript 日期 setDate() 方法根据本地时间设置指定日期的月份日期。

以下是我们可以用来在 JavaScript 中从日期中减去天数的方法 -

  • 使用 setTime()getTime() 方法

  • 使用 setDate()getDate() 方法

让我们逐一详细讨论它们。

使用 setTime()getTime()方法

setTime() 和 getTime() 方法用于不同的目的。让我们详细讨论这两种日期方法 -

setTime() − setTime() 方法通过从 1970 年 1 月 1 日午夜减去或加上来设置以毫秒为单位的日期和时间。此方法接受以毫秒形式传入的参数,该参数进一步从 1970 年 1 月 1 日加上或减去,并且还以毫秒形式返回从 1970 年 1 月 1 日到对象的日期的值。

getTime()  getTime() 方法返回一个数字,该数字指定从 1970 年 1 月 1 日午夜到我们要减去或添加的那一天之间的毫秒数。它不接受任何类型的变量或参数。

语法

将遵循以下语法来使用日期对象的 setTime()getTime() 方法 -

Date.setTime(milliseconds);
Date.getTime();

让我们通过使用程序示例来实现它们,从而实际理解它们。

  • 步骤 1 - 在算法的第一步中,我们需要使用 JavaScript Date 类声明一个 JavaScript Date 对象。

  • 步骤 2 - 在下一步中,我们首先在屏幕上向用户显示当前日期,然后为按钮的 onclick 事件定义一个回调函数。

  • 步骤 3 - 在最后一步中,我们将编写回调函数的主体,其中包含使用 setTime()getTime() 方法减去日期的逻辑,以及结果日期显示逻辑。

示例

下面的例子将解释 setTime()getTime() 方法在 JavaScript 中减去日期的实际用法 −

<!DOCTYPE html>
<html>
<body>
   <h2>Subtract days from a date in JavaScript</h2>
   <p id="result1"></p>
   <p>Click below button to subtract 10 days to the Today's Date</p>
   <button onclick="display()">click to subtract days</button>
   <p></p>
   <p id="result2"></p>
   <script>
      var date = new Date();
      var result1 = document.getElementById("result1");
      var result2 = document.getElementById("result2");
      result1.innerHTML = "Today's Date: " + date + "</b><br>";
      function display() {
         var day = date.getTime() - (10 * 24 * 60 * 60 * 1000);
         date.setTime(day);
         result2.innerHTML += "The day we get after subtracting is: " + date;
      }
   </script>
</body>
</html>

在上面的例子中,我们使用了 JavaScript 的 setTime()getTime() 方法从日期中减去天数。只需单击按钮,即可获得从当前日期中减去的天数的所有详细信息。在此示例中,我们从当前日期或日期中减去 10 天。

使用 setDate() 和 getDate() 方法

在开始实施之前,让我们先了解 setDate()getDate() 方法执行的功能 -

setDate() - setDate() 方法将月份中的日期设置为 JavaScript 中的日期对象。它接受日期作为参数,并将日期对象的日期设置为此方法括号内传递的同一天。另一方面,它还返回一个介于 1 和 31 之间的数字,表示月份中的日期。

getDate()  getDate() 方法仅返回月份中的日期,范围也从 1 到 31,就像 getTime() 方法一样。它不接受任何类型的参数。

语法

以下语法可用于在 JavaScript 中实现 setDate()getDate() 方法 −

Date.setDate(numberOfDay);
Date.getDate();

让我们借助代码示例来理解它 −

注意  这个例子的算法和前面的例子几乎相似,只是算法上有细微的变化。您需要做的更改是,将上一个示例中的 setTime()getTime() 方法分别替换为 setDate()getDate() 方法。

示例

以下代码示例将说明 setDate()getDate() 方法的实际实现,以从日期中减去天数 -

<!DOCTYPE html>
<html>
<body>
   <h2>Subtract days from a date in JavaScript</h2>
   <p id="result1"></p>
   <p>Click the below button to subtract 12 days to the Today's Date</p>
   <button onclick="display()">click to subtract days</button>
   <p id="result2"></p>
   <script>
      var date = new Date();
      var result1 = document.getElementById("result1");
      var result2 = document.getElementById("result2");
      result1.innerHTML = "<b>Today's Date: " + date + "</b><br>";
      function display() {
         var day = date.getDate() - 12;
         date.setDate(day);
         result2.innerHTML += "The day we get after subtracting is: " + date;
      }
   </script>
</body>
</html>

在此示例中,我们使用 JavaScript 的 setDate() 和 getDate() 方法从当前日期中减去 12 天。在上面的代码中,getDate() 方法获取当前日期,然后从中减去给定的天数;之后,setDate() 方法设置 Date 对象,并返回减法后的结果日期。

在本教程中,我们已经了解了 JavaScript 中从日期中减去日期的方法。我们通过为每个方法实现代码示例,充分理解了两种方法的实际应用。下次需要从日期中减去日期时,可以使用这些方法。


相关文章