JQuery Calculate Day Difference in 2 date textboxes
Mia Lopez
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?
29 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
1Number 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