在时刻Js中的每一个小时

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

我在我的应用程序中使用的是moment.我想在时间上从00:00到23:00进行迭代,把时间加到30分钟,我是这样尝试的: 我想从00:00到23:00迭代时间,加到时间30分钟,我这样尝试。

var tStart = moment('2020-05-14 01:00:00', 'm-d-Y H:i');
var tEnd = moment('2020-05-14 23:00:00', 'm-d-Y H:i');

for (var t = tStart; t.isBefore(tEnd); t.add(30, 'minutes')) {
    console.log(t.format("LTS"));
}

但输出的结果是:

01:20:00
02:05:00
02:50:00
03:35:00
04:20:00
(...)
23:05:00

我的问题是,为什么它从01: 20: 00开始,而我设置的变量是01: 00: 00?

momentjs date-range
1个回答
1
投票

试着用正确的格式改变 moment 构造函数。

请看下面的片段。

var tStart = moment("2020-05-14 01:00:00", "YYYY-MM-DD hh:mmss");
var tEnd = moment("2020-05-14 23:00:00", "YYYY-MM-DD hh:mm:ss");
for (var t = moment(tStart); t.isBefore(tEnd); t.add(30, "minutes")) {
  console.log(t.format("LTS"));
}
<script src="https://momentjs.com/downloads/moment.js"></script>
© www.soinside.com 2019 - 2024. All rights reserved.