如何解析这个字符串的时间?

时间:2016-01-31 07:13:22

标签: javascript

我有一个从API请求返回的日期时间字符串,如下所示:

2016-01-31T04:22:34+00:00

我不确定这是什么类型的格式。是否有本机JS函数或外部库以非军事格式解析这些字符串的时间?

例如看起来像这样:

11:22 PM

3 个答案:

答案 0 :(得分:2)

以上是标准日期格式。

 2016-01-31T04:22:34+00:00

这分为2016-01-31作为日期组件,后跟“T”,时间组件04:22:34后跟时区+00:00。

您也可以使用默认的javascript DateMoment.js

使用两者的例子:

 new Date("2016-01-31T04:22:34+00:00")

moment("2016-01-31T04:22:34+00:00").format("HH:mm:ss")

可以根据您想要的格式更改解析。您可以参考文档了解详细信息。

答案 1 :(得分:2)

是的,使用moment库,从API返回的日期是ISO格式,因此您可以使用时刻直接解析

var str = "2016-01-31T04:22:34+00:00";
var momObj = moment(str);
console.log(momObj.format("HH:mm A"));

答案 2 :(得分:0)

此日期格式是ISO 8601中定义的标准格式之一。 以下内容应解析给定的字符串并以HH:mm AM / PM格式输出时间。

var dtObj = new Date('2016-01-31T04:22:34+00:00');
var hours = dtObj.getHours();
var minutes = dtObj.getMinutes();
var ampm = hours >= 12 ? 'pm' : 'am';
hours = hours % 12;
hours = hours ? hours : 12; // 0 hrs is equivalent to 12 midnight
minutes = minutes < 10 ? '0'+ minutes : minutes; // prepend a 0 if minute is single digit
var strTime = hours + ':' + minutes + ' ' + ampm;
console.log(strTime); // log in console

感谢。