2010-04-09 46 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