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


在本教程中,我们将学习如何在 JavaScript 中从日期中减去天数。要从 JavaScript 日期对象 中减去天数,请使用 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 日期对象。

  • 步骤 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 中从日期中减去天数的方法。我们通过为每个方法实现代码示例,以充分的实际理解讨论了两种方法。下次需要从日期中减去天数时,可以使用这些方法。

更新于: 2023 年 10 月 4 日

34K+ 次观看

启动您的 职业生涯

通过完成课程获得认证

开始
广告

© . All rights reserved.