ios9,JavaScript格式化时间Date,显示NaN

今天遇到一个bug,是这样的:

后端返回的时间格式是这样的:yyyy-mm-ddThh:mm:ss.000+0000,前端需要展示的格式是这样的:yyyy-mm-dd hh:mm:ss。

于是写了一个格式化的方法:

function resolvingDate(date){
  //date是传入的时间
    let d = new Date(date);
  
    let month = (d.getMonth() + 1) < 10 ? '0'+(d.getMonth() + 1) : (d.getMonth() + 1);
    let day = d.getDate()<10 ? '0'+d.getDate() : d.getDate();
    let hours = d.getHours()<10 ? '0'+d.getHours() : d.getHours();
    let min = d.getMinutes()<10 ? '0'+d.getMinutes() : d.getMinutes();
    let sec = d.getSeconds()<10 ? '0'+d.getSeconds() : d.getSeconds();
  
    let times=d.getFullYear() + '-' + month + '-' + day + ' ' + hours + ':' + min + ':' + sec;

    return times
  }

返回的结果在浏览器,安卓端,IOS高版本都可以正常显示,但是在ios 9.0显示为
NaN-NaN-NaN NaN:NaN:NaN

查了一下,是因为早期的ios版本不支持ISO 8601的时间格式,由于时间问题,先使用moment.js组件解决了,之后有时间再自己实现一下吧。

你可能感兴趣的:(ios9,JavaScript格式化时间Date,显示NaN)