利用MomentJS向UTC字符串添加30秒的时间间隔

时间:2017-07-13 22:00:34

标签: javascript arrays momentjs

我在" 2017-07-11T05:02:36.207465"我希望一次增加30秒,长度小于或等于1500(可以是任意长度)。

该循环的结果将存储在名为duration的数组中。

我想利用MomentJS来完成格式化并添加30秒的间隔。

这是我的初步代码:

var utcstring = "2017-07-11T05:02:36.207465";
var duration = [];

for (var i = 0; i < 1500; i++) {
    // moment(utcstring).format("h:mm:ss a");
    // moment.add(30, 's');
    // duration.push();
}

console.log(duration); // Should return: ["5:02:36 am", "5:03:06 am", "5:03:36 am", etc.]

您的JavaScript和MomentJS知识将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:2)

你可以简单地说:

  • 使用moment.utc
  • 解析输入字符串
  • 使用add
  • 添加30秒
  • 使用format将时刻对象转换为所需格式

请注意,正如Mutability指南中所述:

  

Moment.js中的时刻对象是可变的。这意味着add,subtract或set等操作会更改原始时刻对象。

这是一份工作样本:

&#13;
&#13;
var utcstring = "2017-07-11T05:02:36.207465";
var duration = [];

var m = moment.utc(utcstring);
for (var i = 0; i < 1500; i++) {
  duration.push( m.format("h:mm:ss a") );
  m.add(30, 's');
}

console.log(duration);
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
&#13;
&#13;
&#13;