Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
How to get the number of seconds between two Dates in JavaScript?
In JavaScript, calculating the difference between two dates in seconds is a common requirement for timers, age calculators, and duration displays. JavaScript Date objects provide millisecond precision, which we can easily convert to seconds.
Using the getTime() Method
The getTime() method returns the number of milliseconds since January 1, 1970 UTC. By subtracting two timestamps and dividing by 1000, we get the difference in seconds.
Syntax
let date1 = new Date("Aug 12, 2022 19:45:25");
let date2 = new Date("Aug 14, 2022 19:45:25");
let seconds = Math.abs(date1.getTime() - date2.getTime()) / 1000;
Example
<html>
<body>
<h4>Using <i>getTime()</i> method to get number of seconds between two 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>
First date: Fri Aug 12 2022 19:45:25 GMT+0000 (UTC) Second date: Sun Aug 14 2022 19:45:25 GMT+0000 (UTC) Number of seconds between two dates: 172800 seconds
Using Direct Date Subtraction with Math.abs()
You can subtract Date objects directly in JavaScript. The result is automatically in milliseconds, which we divide by 1000 to get seconds. Math.abs() ensures we get a positive result regardless of date order.
Syntax
let date1 = new Date(); let date2 = new Date(); let seconds = Math.abs(date1 - date2) / 1000;
Example
<html>
<body>
<h3>Get seconds between two dates using absolute difference</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("Nov 25 2022 07:26:15");
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 + " seconds";
</script>
</body>
</html>
First date: Fri Nov 25 2022 07:24:35 GMT+0000 (UTC) Second date: Fri Nov 25 2022 07:26:15 GMT+0000 (UTC) Number of seconds between two dates: 100 seconds
Using Math.round() for Whole Seconds
If you need whole seconds without decimal places, use Math.round() instead of Math.abs(). This rounds the result to the nearest integer.
Example
<html>
<body>
<h3>Get seconds between two dates using Math.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("Nov 25 2022 07:24:37.500");
var dif = Math.abs(Math.round(date1 - date2)) / 1000;
document.getElementById('date1').innerHTML = "First date: " + date1;
document.getElementById('date2').innerHTML = "Second date: " + date2;
document.getElementById('seconds').innerHTML += dif + " seconds";
</script>
</body>
</html>
First date: Fri Nov 25 2022 07:24:35 GMT+0000 (UTC) Second date: Fri Nov 25 2022 07:24:37 GMT+0000 (UTC) Number of seconds between two dates: 3 seconds
Comparison of Methods
| Method | Use Case | Result Type |
|---|---|---|
getTime() |
Explicit timestamp comparison | Decimal seconds |
Math.abs(date1 - date2) |
Simple date subtraction | Decimal seconds |
Math.round() |
Whole seconds needed | Integer seconds |
Conclusion
All three methods effectively calculate seconds between dates. Use getTime() for clarity, direct subtraction for simplicity, and Math.round() when you need whole seconds without decimals.
