Open In App

How to calculate the number of days between two dates in JavaScript ?

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

To Calculate the number of days between two dates in JavaScript we use the Date object and perform some basic arithmetic with milliseconds. The below methods can be used to find out the number of days between two dates.

Using Two different dates

  • Use new Date() to create two date objects, date1 and date2.
  • Use date2.getTime() – date1.getTime() to calculate the time difference in milliseconds between the two dates.
  • Divide the time difference by the number of milliseconds in a day (1000 * 60 * 60 * 24) to obtain the number of days.

Example: The following JavaScript program will illustrate the process of finding the number of days between two dates.

javascript




let date1 = new Date("01/16/2024");
let date2 = new Date("01/26/2024");
 
// Calculating the time difference
// of two dates
let Difference_In_Time =
    date2.getTime() - date1.getTime();
 
// Calculating the no. of days between
// two dates
let Difference_In_Days =
    Math.round
        (Difference_In_Time / (1000 * 3600 * 24));
 
// To display the final no. of days (result)
console.log
    ("Total number of days between dates:\n" +
        date1.toDateString() + " and " +
        date2.toDateString() +
        " is: " + Difference_In_Days + " days");


Output

Total number of days between dates:
Tue Jan 16 2024 and Fri Jan 26 2024 is: 10 days

Using One fixed date

  • Present date is obtained using new Date().
  • Christmas date is set using date.getFullYear().
  • If Christmas has passed, adjust the date to the next year.
  • Calculate the difference in days using Math.round((christmas_day.getTime() – present_date.getTime()) / one_day).
  • Log the result to the console with present and Christmas dates.

Example: The below code find out the number of days between the current date and the christmas date.

javascript




// One day Time in ms (milliseconds)
let one_day = 1000 * 60 * 60 * 24;
 
// To set present_dates to two variables
let present_date = new Date();
 
// 0-11 is Month in JavaScript
let christmas_day =
    new Date(present_date.getFullYear(), 11, 25);
 
// To Calculate next year's Christmas if passed already.
if (present_date.getMonth() ==
    11 && present_date.getDate() > 25) {
        christmas_day.setFullYear(christmas_day.getFullYear() + 1);
}
 
// To Calculate the result in milliseconds and
// then converting into days
let Result = Math.round((christmas_day.getTime() -
    present_date.getTime()) / one_day);
 
// To remove the decimals from the (Result)
// resulting days value
let Final_Result = Result.toFixed(0);
 
// To display the final_result value
console.log("Number of days remaining till Christmas:\n" +
    present_date.toDateString() + " and " +
    christmas_day.toDateString() +
    " is: " + Final_Result + " days");


Output

Number of days remaining till Christmas:
Wed Jan 17 2024 and Wed Dec 25 2024 is: 343 days

JavaScript is best known for web page development but it is also used in a variety of non-browser environments. You can learn JavaScript from the ground up by following this JavaScript Tutorial and JavaScript Examples.



Last Updated : 17 Jan, 2024
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads