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

Calculating the number of days between two dates in JavaScript required to use date object for any kind of calculation. For that, first, get the internal millisecond value of the date using the in-built JavaScript getTime() function. As soon as both the dates get converted, proceed further by subtracting the later one from the earlier one which in turn returns the difference in milliseconds. Later, the final result can be calculated by dividing the difference (which is in milliseconds) of both the dates by the number of milliseconds in one day.

Syntax:

Date.getTime()

Approach 1:

  • Define two dates using new Date().
  • Calculate the time difference of two dates using date2.getTime() – date1.getTime();
  • Calculate the no. of days between two dates, divide the time difference of both the dates by no. of milliseconds in a day (1000*60*60*24)
  • Print the final result using document.write().

Example 1: The following JavaScript program will illustrate the solution

filter_none

edit
close

play_arrow

link
brightness_4
code

<script type = "text/javascript" >
    // JavaScript program to illustrate 
    // calculation of no. of days between two date 
  
    // To set two dates to two variables
    var date1 = new Date("06/30/2019");
var date2 = new Date("07/30/2019");
  
// To calculate the time difference of two dates
var Difference_In_Time = date2.getTime() - date1.getTime();
  
// To calculate the no. of days between two dates
var Difference_In_Days = Difference_In_Time / (1000 * 3600 * 24);
  
//To display the final no. of days (result)
document.write("Total number of days between dates  <br>"
               + date1 + "<br> and <br>" 
               + date2 + " is: <br> " 
               + Difference_In_Days);
  
</script>

chevron_right


Output:

Total number of days between dates 
Sun Jun 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time)
and 
Tue Jul 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time) is: 
30

Approach 2:

  • Defined the present date by using the new date() which will give the present date and the Christmas date by date.getFullYear() (this will get the year, 0-11 are the months in JavaScript).
  • if condition in order to calculate the total number of days if the Christmas has been passed already (this will calculate the no. of days between the present date and the Christmas of the next year).
  • Use Math.round(christmas() – present_date.getTime()) Divided one day’s miliseconds to Calculate the result in milliseconds and then converting into days

Example 2: This example we calculated the number of days until Christmas day.

filter_none

edit
close

play_arrow

link
brightness_4
code

<script type = "text/javascript" >
  
    // One day Time in ms (milliseconds)
    var one_day = 1000 * 60 * 60 * 24
  
// To set present_dates to two variables
var present_date = new Date();
  
// 0-11 is Month in JavaScript
var 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
var Result = Math.round(christmas_day.getTime() - present_date.getTime()) / (one_day);
  
// To remove the decimals from the (Result) resulting days value
var Final_Result = Result.toFixed(0);
  
//To display the final_result value
document.write("Number of days remaining till christmas <br>" 
               + present_date + "<br> and <br>" 
               + christmas_day + " is: <br> " 
               + Final_Result);
  
</script>

chevron_right


Output:

Number of days remaining till christmas 
Sun Jun 30 2019 11:33:51 GMT-0700 (Pacific Daylight Time)
and 
Wed Dec 25 2019 00:00:00 GMT-0800 (Pacific Standard Time) is: 
178


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.