给定日期之间的jquery差异

时间:2013-03-12 09:55:22

标签: jquery date jquery-ui-datepicker

我试图计算两个日期之间的天数,但我不想只是天差,我写什么是为了向我展示这两个给定日期之间的所有实际日期。 例如,我有2个日期:

3/12/20133/15/2013

我想以某种方式获取这些日期:3/12/2013, 3/13/2013, 3/14/2013, 3/15/2013

这是我写的代码,但这只返回天数的差异

$(document).ready(function () {

  var From = "03-12-2013";
  var To = "03-15-2013";
  var d1 = jQuery.datepicker.parseDate("mm-dd-yy",  From);
  var d2 = jQuery.datepicker.parseDate("mm-dd-yy",  To);

  var diff = 0;
  if (d1 && d2) {
      diff = Math.floor((d2.getTime() - d1.getTime()) / 86400000); // ms per day
  }
  console.log(diff);
});

谢谢

1 个答案:

答案 0 :(得分:1)

根据您的代码,不用查看datepicker(也许有一种方法已经为您提供了所需的内容),您可以执行以下操作:

var milisperday = 86400000,
    days = [],
    offset = (d1<d2)?d1:d2;

for (var i = 1;i<=diff;i++){
    days.push(new Date(offset.getTime() + milisperday * i));
}

console.log(days);

现在days是一个包含所需日期作为日期对象的数组。

Example