如何在 JavaScript 中獲取兩個日期之間秒數?
在本教程中,我們將學習如何使用 JavaScript 獲取兩個日期之間的秒數。
有多種方法可以檢查常用的天數、小時數和秒數,以提供與資料相關的資訊。由於您無法手動更改年份和月份的數量,因此我們遵循一些簡單的技巧來在 JavaScript 中獲取數字。
使用 Date getTime() 方法
在 JavaScript 中,我們使用不同的方法來計算天數、小時數和秒數。計算時間最常用的方法是 .getTime()。但是,您將獲得以毫秒為單位的結果,並且必須透過除法將其轉換為秒。
語法
var x = new Date("Aug 12, 2022 19:45:25");
var y = new Date("Aug 14, 2022 19:45:25");
let seconds = Math.abs(x.getTime() - y.getTime())/1000;
這裡 x 和 y 是兩個日期。我們將使用 getTime() 獲取兩個日期的毫秒時間。我們取這兩個日期的毫秒時間之間的絕對差值。然後,在減去毫秒時間後,我們將將其除以 1000。
演算法
- 步驟 1 - 使用 new Date() 建立兩個日期。您可以參考示例瞭解日期的格式。
- 步驟 2 - 使用 .getTime() 方法獲取兩個日期的毫秒時間。
- 步驟 3 - 從最近的日期中減去舊的日期。然後,將輸出除以 1000 以獲得秒差。
- 步驟 4 - 使用 innerHTML 方法檢查兩個日期之間的秒差
示例 1
我們已使用 new Date() 手動建立了這兩個日期。您還可以使用不同的方法在 JavaScript 中生成日期。
<html> <body> <h4> Using <i> .getTime() method </i> to get number of seconds between to dates. </h4> <p id="date1"> </p> <p id="date2"> </p> <p id="seconds">Number of seconds between two dates: </p> <script> var t1 = new Date("Aug 12, 2022 19:45:25"); var t2 = new Date("Aug 14, 2022 19:45:25"); var dif = Math.abs(t1.getTime() - t2.getTime()) / 1000; document.getElementById('date1').innerHTML = "First date: " + t1; document.getElementById('date2').innerHTML = "Second date: " + t2; document.getElementById('seconds').innerHTML += dif + " seconds"; </script> </body> </html>
使用 Math.abs() 方法
Math.abs() 是用於將數字四捨五入到最接近的答案以避免獲取浮點數的方法。因此,您也可以使用 Math.round() 方法代替 Math.abs()。您可以使用此方法以毫秒為單位獲取時間差。透過將輸出除以 1000 可以將時間轉換為秒。
語法
我們將使用以下語法以毫秒為單位獲取時間,並透過除法方法將其轉換為秒
let x = new Date(); let y = new Date(); let dif = Math.abs(x - y) / 1000;
在這裡,我們找到兩個日期(x 和 y)之間的秒數。我們使用 Math.abs() 方法獲取這兩個日期之間的絕對差值。此差值以毫秒為單位,因此我們除以 1000 以將其轉換為秒。
示例 2
在此示例中,兩個日期之間相差超過 31 天。我們使日期保持相似,以便也可以手動以秒為單位檢查輸出。
<html> <head> <title> Example - get seconds between two dates </title> <head> <body> <h3> Get seconds between to dates using absolute difference of the dates </h3> <p id="date1"> </p> <p id="date2"> </p> <p id="seconds">Number of seconds between two dates: </p> <script> let date1 = new Date("Nov 25 2022 07:24:35"); let date2 = new Date(); var dif = Math.abs(date1 - date2) / 1000; document.getElementById('date1').innerHTML = "First date: " + date1; document.getElementById('date2').innerHTML = "Second date: " + date2; document.getElementById('seconds').innerHTML += dif; </script> </body> </html>
.getTime() 和 Math.abs() 等方法在 JavaScript 中很常用。您可以選擇使用 Math.round() 方法來獲取類似的輸出。
請檢視以下示例。
示例 3
<html> <head> <title> Example - get seconds between two dates </title> <head> <body> <h3> Get seconds between to dates using Matth.round() method </h3> <p id="date1"> </p> <p id="date2"> </p> <p id="seconds">Number of seconds between two dates: </p> <script> let date1 = new Date("Nov 25 2022 07:24:35"); let date2 = new Date(); var dif = Math.round(date1 - date2) / 1000; document.getElementById('date1').innerHTML = "First date: " + date1; document.getElementById('date2').innerHTML = "Second date: " + date2; document.getElementById('seconds').innerHTML += dif; </script> </body> </html>
在獲取答案時,您應該確保時間已轉換為秒,因為輸出也可能以分鐘或毫秒為單位。因此,您可以檢視上面的示例以瞭解獲取秒輸出的最佳方法。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP