reactNative 计算时间差

因为后台返回的是"2018-06-30 00:00:00"这种格式,需要先转换一下,再计算距离今天得时间差。
/**
*获取时间差值(天数)
*/
getTimeDifference(date){
//转换时间
let regEx = new RegExp("\\-","gi");
let validDateStr=date.replace(regEx,"/");
let milliseconds=Date.parse(validDateStr);
var sendTime = new Date(milliseconds);
//当前时间
var nowTime = new Date();
//差值
var date3 = sendTime - nowTime;

//天
var days=Math.floor(date3/(24*3600*1000));
return days;
}


在此基础上如果要计算具体的时分秒参考如下:
//天
var days=Math.floor(date3/(24*3600*1000))
//时
var leave1=date3%(24*3600*1000)
var hours=Math.floor(leave1/(3600*1000))
//分
var leave2=leave1%(3600*1000)
var minutes=Math.floor(leave2/(60*1000))

//秒
var leave3=leave2%(60*1000)
var seconds=Math.round(leave3/1000)




下面是时间转换格式方法:
class DateUtil{
  /**
   * 例如:2017-06-28 10:48:46转成date类,
   * 可把- replace成/
   * @param dateString
   * @return Date
   */
  static parserDateString(dateString){
    if(dateString){
      let regEx = new RegExp("\\-","gi");
      let validDateStr=dateString.replace(regEx,"/");
      let milliseconds=Date.parse(validDateStr);
      return new Date(milliseconds);
 
    }
  }
 
  // timestamp时间戳 formater时间格式
  static formatDate(timestamp, formater) {
    let date = new Date();
    date.setTime(parseInt(timestamp));
    formater = (formater != null)? formater : 'yyyy-MM-dd hh:mm';
    Date.prototype.Format = function (fmt) {
      var o = {
        "M+": this.getMonth() + 1, //月
        "d+": this.getDate(), //日
        "h+": this.getHours(), //小时
        "m+": this.getMinutes(), //分
        "s+": this.getSeconds(), //秒
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度
        "S": this.getMilliseconds() //毫秒
      };
 
      if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
      for (var k in o) {
        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ?
          (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
      }
      return fmt;
    }
    return date.Format(formater);
  }
}
export default DateUtil;
 
 
参考链接:http://www.jb51.net/article/126673.htm
     https://blog.csdn.net/weng_sky/article/details/52098310


posted @ 2018-05-16 10:57  梅子~  阅读(2167)  评论(0编辑  收藏  举报