在moment.js中将UTC时间转换为ISO格式?

时间:2017-05-23 07:33:46

标签: javascript momentjs

我使用moment.js作为时间格式。所以现在我得到UTC时间(从服务器获取时间,找到其他时区),所以我想转换为ISO 8601.我能够将单值UTC转换为ISO。但是我无法将整个数组转换为ISO格式。

var time= [11:30,11:50,12:50,22:30,23:10,2:20,4:30,8:50,9:10]

我希望每个值都转换为ISO格式。

4 个答案:

答案 0 :(得分:1)

您可以遍历您的数组,使用moment(String, String)解析您的输入,然后使用toISOString()format()

这是一个实时样本:

var time= ['11:30','11:50','12:50','22:30','23:10','2:20','4:30','8:50','9:10'];
var result = time.map(elem => moment.utc(elem, 'HH:mm').toISOString());
console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>

答案 1 :(得分:0)

如何迭代这些值并替换它们?

for (i = 0; i < time.length; i++) {
    time[i] = moment(time[i], 'hh:mm');
}

答案 2 :(得分:0)

使用map()

var time = ["11:30","11:50","12:50","22:30"]
    .map(el => moment(el, 'hh:mm'));

答案 3 :(得分:-1)

您可以使用map转换每个值:

let converted = time.map(t => t.toISOString()); 

t.toISOString() - 例如,您可以添加任何逻辑并返回转换时间。