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


猜你喜欢

转载自www.cnblogs.com/cui-cui/p/9044827.html