获取两个日期之间的日期列表未正确返回 JS

2024-01-07

我有一个开始日期和一个结束日期,我想生成这两个日期之间(并包括)的日期列表。但我不明白为什么它不起作用......

我传入了几个 JS 日期对象,我已经在下面的控制台中展示了它们记录的内容

function dateList(dateStart, dateEnd) {
  console.log(dateStart);
  console.log(dateEnd);
  var dates = [];
  for ( i = dateStart; i <= dateEnd; i.setDate(i.getDate() + 1) ){
    dates.push(i);
  }
  return dates
}



Mon May 08 2017 00:00:00 GMT+0100 (BST)
Fri May 12 2017 00:00:00 GMT+0100 (BST)

返回的数组是

Array[5] 
0: Sat May 13 2017 00:00:00 GMT+0100 (BST)
1: Sat May 13 2017 00:00:00 GMT+0100 (BST)
2: Sat May 13 2017 00:00:00 GMT+0100 (BST)
3: Sat May 13 2017 00:00:00 GMT+0100 (BST)
4: Sat May 13 2017 00:00:00 GMT+0100 (BST)
length: 5
__proto__: Array[0]

...为什么???......


尝试添加new Date(i),而不仅仅是i:

function dateList(dateStart, dateEnd) {
  var dates = [];
  for (i = dateStart; i <= dateEnd; i.setDate(i.getDate() + 1)){
    dates.push(new Date(i));
  }
  return dates;
}

console.log(dateList(new Date('2017-05-08'), new Date('2017-05-12')));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取两个日期之间的日期列表未正确返回 JS 的相关文章

随机推荐