我有一个从API请求返回的日期时间字符串,如下所示:
2016-01-31T04:22:34+00:00
我不确定这是什么类型的格式。是否有本机JS函数或外部库以非军事格式解析这些字符串的时间?
例如看起来像这样:
11:22 PM
答案 0 :(得分:2)
以上是标准日期格式。
2016-01-31T04:22:34+00:00
这分为2016-01-31作为日期组件,后跟“T”,时间组件04:22:34后跟时区+00:00。
您也可以使用默认的javascript Date或Moment.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
感谢。