如何在 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+ 次觀看

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告