2013-04-11 130 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

相关问题