2010-04-09 48 views
32

嗨,伙计们,JQuery计算2日期文本框中的日差

我有2个带日历扩展程序的asp.net texboxes。我想知道日期控制之一发生变化时两个日期之间的天数。我怎么能实现这个使用jQuery或JavaScript?

+2

之间的天数的简单方法也许这可以帮助您http://stackoverflow.com/questions/542938/how-do-i-get - 天数之间的两个日期在jQuery – 2010-04-09 17:27:57

+0

@Aneef,你可能想要更新你的问题的标题。它说“复选框”,我猜你的意思是说“文本框”。 – 2010-04-09 17:40:00

回答

64

这应该做的伎俩

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; 

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

days; //=> 8.525845775462964 
+0

完美!正是我需要的!谢谢! – 2012-05-21 20:32:57

+1

对我来说,var diff = new Date(Date.parse(to) - Date.parse(from))起作用。很好的回答:) – Gogol 2014-03-10 11:10:58

2

1)HTML

<input type="text" id="firstDate" name="firstDate"/> 
<input type="text" id="secondDate" 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工作示例here

-1

这是获得两个日期

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

dateDiff不是内置的JavaScript或jQuery的功能。 – RLHawk 2018-02-21 17:40:37