Learn how to find difference between two dates in JavaScript.

We learn about finding Number of Seconds , Number of Minutes , Number of hours , Number of days , Number of weeks , Number of months , Number of years between two dates.
Letâs create two dates
let d1 = Date.now();
let d2 = new Date(2019,5,22).getTime(); //Jun 22 2019 in millisecond
console.log(d1); //1573527098946
console.log(d2); //1561141800000
Number of Seconds between two dates.
1 second = 1000 milliseconds
Now we are having two date d1 and d2 in milliseconds. To convert milliseconds into seconds ,we can divide the difference between two dates in milliseconds by 1000 .
function secondsDiff(d1, d2) {
let millisecondDiff = d2 - d1;
let secDiff = Math.floor( ( d2 - d1) / 1000 );
return secDiff;
}
Number of Minutes between two dates.
1 minutes = 60 seconds
Now we have method to find the number of seconds between two dates , so we can find seconds difference, then divide that by 60 will give us the number of minutes between two dates.
function minutesDiff(d1, d2) {
let seconds = secondsDiff(d1, d2);
let minutesDiff = Math.floor( seconds / 60 );
return minutesDiff;
}
Number of Hours between two dates.
1 hour = 60 minutes
Now we have method to find the number of minutes between two dates , so we can find minutes difference, then divide that by 60 will give us the number of hours between two dates .
function hoursDiff(d1, d2) {
let minutes = minutesDiff(d1, d2);
let hoursDiff = Math.floor( minutes / 60 );
return hoursDiff;
}
Number of Days between two dates.
1 day = 24 hours
Now we have method to find the number of hours between two dates , so we can find difference, then divide that by 24 will give us the number of days between two dates.
function daysDiff(d1, d2) {
let hours = hoursDiff(d1, d2);
let daysDiff = Math.floor( hours / 24 );
return daysDiff;
}
Number of Weeks between two dates.
1 week = 7 days
Now we have method to find the number of days between two dates , so we can find difference, then divide that by 7 will give us the number of weeks between two dates.
function weeksDiff(d1, d2) {
let days = daysDiff(d1, d2);
let weeksDiff = Math.floor( days/ 7 );
return weeksDiff;
}
Number of Years between two dates.
To find number of years between two dates we have in-built method getFullYear , Subtract the date2 year with date1 year, we will get yearsDiff .
function yearsDiff(d1, d2) {
let date1 = new Date(d1);
let date2 = new Date(d2);
let yearsDiff = date2.getFullYear() - date1.getFullYear();
return yearsDiff;
}
Number of Months between two dates.
1 month != 30 days
Number of days in month is not same in all months , so we need to do it differently
Steps :
- First we need to find number of years between two dates.
- Multiply number of years between two dates by 12(because for each year 12 months)
-
Subtractthe month number(June â 5) ofsecond datewith the month number offirst date
Finding number of months between two dates
function monthsDiff(d1, d2) {
let date1 = new Date(d1);
let date2 = new Date(d2);
let years = yearsDiff(d1, d2);
let months =(years * 12) + (date2.getMonth() - date1.getMonth()) ;
return months;
}
Thanks for Reading đ . Hope you like this. If you found any typo or mistake send me a private note đ thanks đ đ .
Follow me JavaScript Jeepđđ¨Â .
Please make a donation here. 80% of your donation is donated to someone needs food đĽ. Thanks in advance.