您知道一种生成每10分钟前进的日期数据并放入数组的好方法吗?
let dts:Dates = new array();
let dt: Date = new Date('2019-05-03T06:00:00');
let dt2: Date = new Date('2019-05-03T06:00:00');
let dt3: Date = new Date('2019-05-03T06:00:00');
dt.setMinutes(dt.getMinutes() + 10);
console.log(dt);
dt2.setMinutes(dt.getMinutes() + 10);
console.log(dt2);
dt3.setMinutes(dt2.getMinutes() + 10);
console.log(dt3);
while(dt.getTime()<= 6 ){ // I would like from 6:00 , 6:20 ... (7:00) Is it impossible to add 7:00?
dt.setMinutes(dt.getMinutes() + 10);
console.log(dt);
}
答案 0 :(得分:0)
var origDateObj = new Date();
var updatedDateObj = new Date();
//The 10 in the line below will determine the amount of time added.
updatedDateObj.setTime(origDateObj.getTime() + (10 * 60 * 1000));
console.log(updatedDateObj);
答案 1 :(得分:0)
您有正确的想法。技巧是在循环中执行此操作,并在循环的每次迭代中创建Date的新实例:
const startDate = new Date('2019-05-03T06:00:00');
const numberOfItems = 12;
const dates = Array.from({ length: numberOfItems }, (_, i) => {
const nextDate = new Date(startDate);
nextDate.setMinutes(startDate.getMinutes() + i * 10);
return nextDate;
});
console.log(dates.map(String));
您当然可以将其包装为适合您需要的函数:
function dateIncrements(startDate, incrementMinutes, numberOfItems) {
return Array.from({ length: numberOfItems }, (_, i) => {
const nextDate = new Date(startDate);
nextDate.setMinutes(startDate.getMinutes() + i * incrementMinutes);
return nextDate;
});
}
const dates = dateIncrements(new Date('2019-05-03T06:00:00'), 10, 6);
console.log(dates.map(String));
答案 2 :(得分:-1)
您为什么不使用setInterval?在我看来,您可以使用本机方法使其变得更干净...