如何在 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.