JQuery Calculate Day Difference in 2 date textboxes

I have 2 asp.net texboxes with calendar extender. I want to find out the number of days between both dates when one of the date control is changed. how can I achieve this using jquery or javascript?

2

9 Answers

This should do the trick

var start = $('#start_date').val(); var end = $('#end_date').val(); // end - start returns difference in milliseconds var diff = new Date(end - start); // get days var days = diff/1000/60/60/24; 

Example

var start = new Date("2010-04-01"), end = new Date(), diff = new Date(end - start), days = diff/1000/60/60/24; days; //=> 8.525845775462964 
3

1) Html

<input type="text" name="firstDate"/> <input type="text" name="secondDate"/> 

2) Jquery

$("#firstDate").datepicker({ }); $("#secondDate").datepicker({ onSelect: function () { myfunc(); } }); function myfunc(){ var start= $("#firstDate").datepicker("getDate"); var end= $("#secondDate").datepicker("getDate"); days = (end- start) / (1000 * 60 * 60 * 24); alert(Math.round(days)); } 

Jsfiddle working example here

Hi, This is my example of calculating the difference between two dates

 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <script src=""></script> <title>JS Bin</title> </head> <body> <br> <input class='fromdate' type="date" /> <input class='todate' type="date" /> <div class='calculated' /><br> <div class='minim' /> <input class='todate' type="submit" onclick='showDays()' /> </body> </html> 

This is the function that calculates the difference :

function showDays(){ var start = $('.fromdate').val(); var end = $('.todate').val(); var startDay = new Date(start); var endDay = new Date(end); var millisecondsPerDay = 1000 * 60 * 60 * 24; var millisBetween = endDay.getTime() - startDay.getTime(); var days = millisBetween / millisecondsPerDay; // Round down. alert( Math.floor(days)); } 

I hope I have helped you

1

Number of days calculation between two dates.

 $(document).ready(function () { $('.submit').on('click', function () { var startDate = $('.start-date').val(); var endDate = $('.end-date').val(); var start = new Date(startDate); var end = new Date(endDate); var diffDate = (end - start) / (1000 * 60 * 60 * 24); var days = Math.round(diffDate); }); }); 

This is how I did it using the Math.floor() function:

var start = new Date($('#start').val()); var end = new Date($('#end').val()); var diff = Math.floor((end-start) / (365.25 * 24 * 60 * 60 * 1000)); console.log(diff); 

You could also do it this way using the Math.round() function:

var start = new Date($('#start').val()); var end = new Date($('#end').val()); var diff = new Date(end - start) / (1000 * 60 * 60 * 24 * 365.25); var age = Math.round(diff); console.log(age); 
 **This is a simple way of getting the DAYS between two dates** var d1 = moment($("#StartDate").data("DateTimePicker").date()); var d2 = moment($("#EndDate").data("DateTimePicker").date()); var diffInDays = d2.diff(d1, 'days'); if (diffInDays > 0) { $("#Total").val(diffInDays); } else { $("#Total").val(0); } 
 var days=0; function myfunc(){ var start= $("#firstDate").datepicker("getDate"); var end= $("#secondDate").datepicker("getDate"); days = (end- start) / (1000 * 60 * 60 * 24); alert(Math.round(days)); } 
1
$("#edate").change(function(){ var edate = new Date($('#edate').val()); var sdate = new Date($('#sdate').val()); days = (edate- sdate) / (1000 * 60 * 60 * 24); days=days+1; alert (days); $("#nod").val(days); }); 
1

This is a simple way of getting the DAYS between two dates

var nites = dateDiff(arriveDate,departDate,"D"); 
1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like