我目前正在使用Moment js将ISO 8601字符串解析为日期和时间,但它无法正常工作。我究竟做错了什么?我还会采取任何其他更简单的解决方案。
ISO 8601我想解析:"2011-04-11"
到字符串中的日期:"10:20:30"
和字符串中的时间:console.log(moment("2011-04-11T10:20:30Z" ,moment.ISO_8601))
尝试console.log(moment("2011-04-11T10:20:30Z" , ["YYYY",moment.ISO_8601])
和InetAddress
作为测试,但它只返回一个包含所有不同属性的对象。
答案 0 :(得分:25)
使用moment.js
var str = '2011-04-11T10:20:30Z';
var date = moment(str);
var dateComponent = date.utc().format('YYYY-MM-DD');
var timeComponent = date.utc().format('HH:mm:ss');
console.log(dateComponent);
console.log(timeComponent);

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.1/moment.min.js"></script>
&#13;
或者只是使用字符串操作
var str = '2011-04-11T10:20:30Z';
var parts = str.slice(0, -1).split('T');
var dateComponent = parts[0];
var timeComponent = parts[1];
console.log(dateComponent);
console.log(timeComponent);
&#13;
答案 1 :(得分:11)
当下操作有两个部分:读取日期/时间,并将其吐出。你有第一部分:
moment("2011-04-11T10:20:30Z")
但是你需要调用输出函数,例如:
moment("2011-04-11T10:20:30Z").format('YYYY-MM-DD h:mm:ss a')