【问题标题】:How to get dates array between two date time如何获取两个日期时间之间的日期数组
【发布时间】:2019-05-07 07:19:01
【问题描述】:
我有以下日期字段
{ tripScheduleStartDate: '2018-12-05T18:30:00.000Z',
tripScheduleEndDate: '2018-12-07T18:30:00.000Z',
}
我怎样才能从头到尾获取日期时间数组,像这样
[ { date: '2018-12-05T18:30:00.000Z' }, { date: '2018-12-06T18:30:00.000Z' },{ date: '2018-12-07T18:30:00.000Z' } ]
【问题讨论】:
标签:
javascript
arrays
angularjs
node.js
【解决方案1】:
伪代码
Time start = x;
Time end = y
tmpTime = x;
timeArray = [];
While (tmpTime < y) {
timeArray.Add(tmpTime)
tmpTime = tmpTime.AddDays(1);
}
【解决方案2】:
您可以使用eachDay 中的date-fns。
{
tripScheduleStartDate: '2018-12-05T18:30:00.000Z',
tripScheduleEndDate: '2018-12-07T18:30:00.000Z',
}
导入:import eachDay from 'date-fns/each_day'
用法:eachDay(tripScheduleStartDate, tripScheduleEndDate)
【解决方案3】:
这可能对你有帮助
Date.prototype.addDays = function(days) {
var date = new Date(this.valueOf());
date.setDate(date.getDate() + days);
return date;
}
function gettheDates(sDate, eDate) {
var dateArray = new Array();
var ctDate = sDate;
while (ctDate <= eDate) {
dateArray.push(new Date (ctDate ));
ctDate = ctDate .addDays(1);
}
return dateArray;
}