前端ionic处理Json格式数据时间带T、时间做差以及获取当前时间方法

这次我作为大二的小萌新第一次跟着老师做项目,在没有任何前端基础的情况下要求在前端处理json格式数组。前端我们选用的时ionic框架。通过调用httpservice得到json数组,其中运用异步调用内容(不是很懂,怂......)

this.httpService.get(this.url + "相关action")
  .then(res=>{
    //成功的操作
    }
  }).catch((err:any)=>{
  console.log(err);
});

 

其中关于json格式日期带T是一个很大的坑,得到的格式例如:2018-07-12T00:01:00,具体的解决办法是:

var date = new Date(+new Date()+8*3600*1000).toISOString().replace(/T/g,' ').replace(/\.[\d]{3}Z/,'')

(以上只适用于中国标准时间,通俗的讲就是吧 'T' 转化为 ' ')

 

 

除此之外,遇到时间难免会遇到时间做差的问题,具体的解决方法如下:

 endtime = endtime.replace(/-/g, "/");//将时间格式中的'-'转化为'/'
 starttime = starttime.replace(/-/g, "/");
 let sTime =new Date(starttime); //开始时间
 let eTime =new Date(endtime); //结束时间
 let Druation  = ((eTime.getTime() - sTime.getTime()) / 1000 / 60 /60).toFixed(1);//精确到小时并保留一位小数

最后我们容易遇到获取当前时间的问题,具体操作内容如下:

//若日期为个位,则前面补'0'
addzero(s){
    return s < 10 ? '0' + s: s;
  }


  getCurrentTime(){
    let myDate = new Date();
//获取当前年
    let year=myDate.getFullYear();
//获取当前月
    let month=myDate.getMonth()+1;
//获取当前日
    let date=myDate.getDate();
    let h=myDate.getHours();       //获取当前小时数(0-23)
    let m=myDate.getMinutes();     //获取当前分钟数(0-59)
    let s=myDate.getSeconds();
    return year+'-'+this.addzero(month)+"-"+this.addzero(date)+" "+this.addzero(h)+':'+this.addzero(m)+":"+this.addzero(s);
  }

 

资料参考连接

解决json格式日期带T问题:https://blog.csdn.net/hj7jay/article/details/51433745

解决时间做差问题:https://www.cnblogs.com/kissdodog/p/5419913.html

解决保留几位小数方法:http://baijiahao.baidu.com/s?id=1605214907467517510&wfr=spider&for=pc

解决获取当前时间的方法:https://www.cnblogs.com/handsome1013/p/6297072.html

你可能感兴趣的:(前端ionic处理Json格式数据时间带T、时间做差以及获取当前时间方法)