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.
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" );
|
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.
// 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" );
|
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.