2013-04-11 85 views
0
$(function() { 
    $("#from").datepicker({ 
     defaultDate: "+1w", 
     changeMonth: true, 
     numberOfMonths: 3, 
     onClose: function (selectedDate) { 
      $("#to").datepicker("option", "minDate", selectedDate); 
     } 
    }); 
    $("#to").datepicker({ 
     defaultDate: "+1w", 
     changeMonth: true, 
     numberOfMonths: 3, 
     onClose: function (selectedDate) { 
      $("#from").datepicker("option", "maxDate", selectedDate); 
     } 
    }); 
}); 

$("#to").change(function() { 
    var final = $("#to").datepicker("getDate"); 
    var start = $("#from").datepicker("getDate"); 
    var days = new Date(final - start); 
    alert(days); 
}); 

<label for="from">From</label> 
<input type="text" id="from" name="from" /> 
<label for="to">to</label> 
<input type="text" id="to" name="to" /> 

這是我迄今爲止所做的,我假設每次最終日期填滿時都會獲得兩個日期之間所經過的天數。我有因爲轉換的一些麻煩:■獲取使用日期選擇器的兩個日期之間的天數

Fiddle

回答

4

我認爲最重要的事情是,datepicker('getDate')已經返回Date對象,所以finalstart已經約會對象。

現在你有兩個日期的對象,你可以在下面的線程的代碼示例,讓他們

How to calculate the number of days between two dates using JavaScript?

下面的代碼之間是直接從線程和谷歌撕開的天數:您可以適當填寫

var oneDay = 24*60*60*1000; // hours*minutes*seconds*milliseconds 
var firstDate = new Date(2008,01,12); 
var secondDate = new Date(2008,01,22); 

var diffDays = Math.abs((firstDate.getTime() - secondDate.getTime())/(oneDay)); 
+0

所以,它的是什麼? [小提琴](http://jsfiddle.net/FxnMY/2/) – user1148875 2013-04-11 14:36:34

+1

@ user1148875看起來像是在工作! – dm03514 2013-04-11 14:45:17

+0

是的,它正在工作。我只是想知道這是否可行。就像它是一個技巧或它是一個真正的解決方案 – user1148875 2013-04-11 14:53:37

0

下面的例子對我來說工作得很好。

$(document).ready(function(){ 
    var $datepicker1 = $("#firstday"); 
    var $datepicker2 = $("#lastday"); 
    $datepicker1.datepicker(); 
    $datepicker2.datepicker({ 
     onClose: function() { 
      var fromDate = $datepicker1.datepicker('getDate'); 
      var toDate = $datepicker2.datepicker('getDate'); 
      // date difference in millisec 
      var diff = new Date(toDate - fromDate); 
      // date difference in days 
      var days = diff/1000/60/60/24; 

      alert(days); 
     } 
    }); 
}); 

參見: - calculate number of days between two dates in jquery datepicker

相關問題