jQuery UI Datepicker – 日期之间的天数

我正在使用jQuery UI Datepicker。 我有两个日期字段。 我想找到两个日期之间的天数差异。

一旦我有了这么多天,我想把这些数字放在文本字段中。

任何有关此问题的帮助将不胜感激。

干杯。

您可以使用onselect事件来获取日期。

 $('#date1').datepicker({ onSelect: function(dateText, inst) { var d1=new Date(dateText); // get date from other text field var d2=new Date($('#date2').val()); // d2 -d1 gives result in milliseconds // calculate number of days by Math.abs((d2-d1)/86400000, as 24*3600*1000 = 86400000 // and populate it to some text field #textfield $('#textfield').val((Math.abs((d2-d1)/86400000))); } }); 

我使用dateRange Datepicker而不是使用2个不同的Datepickers解决了它,然后我计算了范围内的天数,并根据需要将其回复到文本字段中。 我希望它有所帮助。

HTML

 

jQuery UI

  

您需要了解日期之间的日期基本公式,请在此处查看

谷歌搜索“两个日期之间的天数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.round(Math.abs((firstDate.getTime() - secondDate.getTime())/(oneDay))); 

>(这取自stackoverflow的答案,详见详情,请点击此处 )

使用下面的代码来获取天数之间的日期

 function showDays() { var start = $('#arr_date').datepicker('getDate'); var end = $('#dep_date').datepicker('getDate'); if (!start || !end) return; var days = (end - start) / 1000 / 60 / 60 / 24; $('#num_nights').val(dayss); } $("#arr_date").datepicker({ dateFormat: 'dd-mm-yy', onSelect: showDays, onClose: function( selectedDate ) { var dParts = selectedDate.split('-'); var in30Days = new Date(dParts[2] + '/' + dParts[1] + '/' + (+dParts[0] + 30) ); $( "#dep_date" ).datepicker( "option", "minDate", in30Days ); } }); $("#dep_date").datepicker({ dateFormat: 'dd-mm-yy', onSelect: showDays, }); 

这是MYFIDDLE