如何按分钟循环两个DateTime? JavaScript的

问题描述 投票:1回答:3

是start =“13.04.2019 10:00:00”;是结束=“14.04.2019 16:00:00”;

我需要一分一秒地循环。请帮我。

// var start = "13.04.2019 10:00:00";
// var end = "14.04.2019 16:00:00";

var start = new Date(2019,05,13,11,00,00,00);
var end = new Date(2019,05,14,16,00,00,00);

var loop = start;
while(loop <= end){
   console.log(loop);

   var loop = loop.setTime(loop.getMinutes() + 1);
}

不工作:(

javascript loops date datetime
3个回答
2
投票

你应该使用setMinutes而不是setTime你可以修改你的代码,一切都会工作,

var start = new Date(2019,05,13,11,00,00,00);
var end = new Date(2019,05,14,16,00,00,00);
var loop = start;
while(loop <= end){
    loop.setMinutes(loop.getMinutes() + 1);
}

2
投票

你可以改变这个

loop = loop.setTime(loop.getMinutes() + 1);

它会将循环类型更改为数字,并且无法调用getMinutes()

var start = new Date(2019,05,13,11,00,00,00);
var end = new Date(2019,05,14,16,00,00,00);

var loop = start;
while(loop <= end){
   console.log(loop);

   loop.setTime(loop.getTime() + 1000 * 60);
}

1
投票

使用时刻库​​进行日期操作

    var start = moment('13-04-2019 10:00','DD-MM-YYYY HH:mm');
    var end = moment('14-04-2019 16:00','DD-MM-YYYY HH:mm');

    var diffInMinutes = end.diff(start,'minutes');
    var res=moment('13-04-2019 10:00','DD-MM-YYYY HH:mm');

    for(let i=0;i<diffInMinutes;i++){
       console.log(res.add(1,'minutes'));
    }

样本输出

   13-04-2019 10:01
   13-04-2019 10:02
   13-04-2019 10:03
   13-04-2019 10:04
   13-04-2019 10:05
© www.soinside.com 2019 - 2024. All rights reserved.