首頁 > web前端 > js教程 > 主體

如何使用 JavaScript 檢查日期是否小於 1 小時前?

王林
發布: 2023-08-25 09:05:02
轉載
1508 人瀏覽過

如何使用 JavaScript 检查日期是否小于 1 小时前?

在本教程中,我們將學習尋找兩個日期之間的差異並檢查差異是否小於一小時。有時,開發人員必須使用 Date 物件並每小時執行一些操作。因此,這可以是一種檢查特定操作是否在一小時之前執行的方法,然後再次執行;否則,請等待完成該小時。

在這裡,我們將學習使用 JavaScript 檢查日期是否少於 1 小時前的不同方法。

使用 getTime() 方法

getTime() 方法傳回自 1970 年 1 月 1 日起的日期的總毫秒數。因此,我們可以使用 getTime() 方法來找出 1970 年 1 月 1 日以來的總毫秒數目前和上一個日期。之後,我們可以找到兩個日期的總毫秒數的差異,並將其與小時的總毫秒數進行比較,即1000*60*60。

文法

使用者可以依照下列語法使用 JavaScript 檢查日期是否小於 1 小時前。

let current_date = new Date();
let difference = current_date.getTime() - date.getTime();
let hoursMilli = 1000 * 60 * 60; // milliseconds * seconds * minutes
if (Math.abs(difference) < hoursMilli) {
   
   // less than 1 hour spent
} else {
   
   // more than 1 hour ago
}
登入後複製

在上面的語法中,hoursMilli包含小時的總毫秒數,我們使用Math.abs()方法來取得兩個日期之間的毫秒數絕對差。

步驟

第 1 步 - 建立兩個日期。

步驟 2 - 使用 getTime() 方法取得兩個日期的總毫秒數,找到它們之間的差異,並將其值儲存在差異變數中。

第3步 - 將1小時的總毫秒數儲存在hoursMilli變數中。

步驟 4 - 如果差異變數的絕對值小於 hourMilli,則表示尚未花費 1 小時。

範例

在下面的範例中,我們建立了兩個具有不同時間戳記的不同日期。我們按照上述步驟將日期和 current_date 的總毫秒數與 1 小時的總毫秒數進行比較,以檢查日期是否小於一小時前。

<html>
<body>
   <h3>Using the <i> custom algorithm </i> to check if the date was less than 1 hour ago.</h2>
   <div id="output"> </div>
   <script>
      let output = document.getElementById("output");
      let date1 = new Date(2023, 02, 11);
      
      // Creating a date that is not less than 1 hour ago
      let date2 = new Date(new Date().getTime() - 20302);   
      function isHourSpent(date) {
         let current_date = new Date();
         let difference = current_date.getTime() - date.getTime();
         console.log(difference);
         let hoursMilli = 1000 * 60 * 60;
         
         // comparing the hour's total milliseconds and the difference between the two dates.
         if (Math.abs(difference) < hoursMilli) {
            output.innerHTML += "The " + date + " is less than an hour ago! <br/>";
         } else {
            output.innerHTML += "The " + date + " is not less than hour ago! <br/>";
         }
      }
      isHourSpent(date1);
      isHourSpent(date2);
   </script>
</body>
</html> 
登入後複製

使用日期物件的setMinutes()方法

Date 物件中的 setMinutes() 方法允許開發人員設定時間戳中的分鐘。日期需要分、秒、毫秒三個參數來設定,秒、毫秒是可選的。

如果我們將分鐘設為零並比較兩個日期,我們可以知道特定日期是否在一小時之前。

文法

使用者可以按照下面的語法使用setMinute()方法來檢查兩個日期之間的差異是否小於一個小時。

date.setMinutes(0, 0, 0);
current_date.setMinutes(0, 0, 0);
if (date - current_date == 0) {
   
   // difference between the two dates is not more than an hour
} else {
   
   // difference between two dates more than an hour.
} 
登入後複製

步驟

步驟1 - 使用setMinutes() 方法,並傳遞0, 0, 0 作為參數,將 的分、秒和毫秒設為零>前一個日期

第 2 步 - 將current_date 的分鐘設為零。

第 3 步 - 計算兩個日期之間的差值;如果為零,則日期不到一小時前。

範例

在此範例中,我們使用 setMinutes() 方法來設定日期和零的總分鐘數。之後,我們取日期之差,回傳日期之間的毫秒差。

如果差異為零,則兩個日期的年、月、日和小時相同。因此,我們可以說這一天距離前不到 1 小時。

<html>
<body>
   <h3>Using the <i> setMinutes() method </i> to check if the date was less than 1 hour ago.</h2>
   <div id="output"> </div>
   <script>
      let output = document.getElementById("output");
      let date1 = new Date(2022, 12, 01);
      let date2 = new Date(new Date().getTime() - 20302);
      
      function isHourSpent(date) {
         let current_date = new Date();
         date.setMinutes(0, 0, 0);
         current_date.setMinutes(0, 0, 0);
         if (date - current_date == 0) {
            output.innerHTML += "The " + date + " is less than hour ago! <br/>";
         } else {
            output.innerHTML += "The " + date + " is not less than an hour ago! <br/>";
         }
      }
      isHourSpent(date1);
      isHourSpent(date2);
   </script>
</body>
</html>
登入後複製

在本教程中,我們學會了找出兩個日期之間的差異並檢查日期是否小於 1 小時前。此外,使用者可以使用 Moment Js 庫的 diff()isAfter() 方法來檢查是否相同,但使用者應該記住,Moment JS 庫如今已被棄用。

以上是如何使用 JavaScript 檢查日期是否小於 1 小時前?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!