邮递员:如何在使用 JS 循环时向 dateTime 添加分钟数?

postman: How to add minutes to a dateTime while looping with JS?

我试图在循环时将 15 分钟添加到 dateTime(2100-01-04T08:00:00)。 对于每个 运行 我想添加 15 分钟,所以它将是 2100-01-04T08:15:00 , 2100-01-04T08:30:00 等等...... 我知道我可以做到以下几点: var moment = require('moment'); moment().add(15, 'minutes').toISOString(); 但这会在当前时刻增加 15 分钟,但我想在 2100-01-04T08:00:00 上增加 15 分钟。

这在邮递员中可行吗?

您无需使用任何第三方库(如 momentJs)即可实现此目的。 默认的 javascript 日期对象具有获取日期对象的分钟数 属性 的方法 - getMinutes() 以及更新此分钟数 属性 的另一种方法 - setMinutes()。 将它们结合起来,你可以得到你想要的答案。

let x = new Date('2100-01-04T08:00:00') 
for(let i = 0 ; i < 5; i ++){
  x.setMinutes(x.getMinutes()+15);
  console.log(x)
}

P.S,从您的问题中删除 'postman'。与您遇到的问题无关。

您可以轻松地创建一个 addMinutes() 函数来为日期添加分钟数,然后您可以使用 while 循环循环直到到达指定的结束日期。

在下面的示例中,我们会将日期增加 15 分钟,直到到达结束日期。

function addMinutes(date, minutes) {
    let newDate = new Date(date);
    newDate.setMinutes(newDate.getMinutes() + minutes);
    return newDate;
}

let date = new Date('2100-01-04T08:00:00');
let endDate = new  Date('2100-01-04T09:00:00');

let deltaMinutes = 15;
while (date <= endDate) {
    console.log(date.toLocaleString('en-US'));
    date = addMinutes(date, 15);
}
.as-console-wrapper { max-height: 100% !important; }