计算两个日期之间的间隔以及判断过期超时的工具类

1.时间戳转化为正常格式时间

function timestampToTime(timestamp) {
        var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
       var Y = date.getFullYear() + '-';
       var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
       var D = (date.getDate() < 10 ? '0'+date.getDate() : date.getDate()) + ' ';
       var h = (date.getHours() < 10 ? '0'+date.getHours() : date.getHours()) + ':';
       var m = (date.getMinutes() < 10 ? '0'+date.getMinutes() : date.getMinutes()) + ':';
       var s = (date.getSeconds() < 10 ? '0'+date.getSeconds() : date.getSeconds());
        return Y+M+D+h+m+s;
    }

2.计算时间

   //
    function  nowInDateBetwen (start,end) {
    //如果时间格式是正确的,那下面这一步转化时间格式就可以不用了
    var dateBegin = new Date(start.replace(/-/g, "/"));//将-转化为/,使用new Date
     var dateEnd = new Date(end.replace(/-/g, "/"));//将-转化为/,使用new Date
      var dateNow = new Date();//获取当前时间
      
    var beginDiff = dateNow.getTime() - dateBegin.getTime();//时间差的毫秒数       
    var beginDayDiff = Math.floor(beginDiff / (24 * 3600 * 1000));//计算出相差天数
          var endDiff = dateEnd.getTime() - dateNow.getTime();//时间差的毫秒数
    var endDayDiff = Math.floor(endDiff / (24 * 3600 * 1000));//计算出相差天数 

    if (endDayDiff < 0) {//已过期
        return 1;
    }
    if (beginDayDiff < 0) {//没到开始时间

        var time =dateBegin.getTime()- dateNow.getTime() ;//时间差的毫秒数 
        var days=Math.floor(time/(24*3600*1000))  
        // console.log(days);
        var leave1=time%(24*3600*1000)    //计算天数后剩余的毫秒数  
         var hours=Math.floor(leave1/(3600*1000))  
       // /   // console.log(hours);
          var leave2=leave1%(3600*1000)        //计算小时数后剩余的毫秒数  
          var minutes=Math.floor(leave2/(60*1000))  
          // console.log(minutes);
         var local =window.localStorage;
         local.setItem("time",""+days+"天"+hours+"小时");
         // alert(" 剩 "+days+"天 "+hours+"小时 "+minutes+" 分钟")  
        return 2;
    }
        var time =dateEnd.getTime()- dateNow.getTime() ;//时间差的毫秒数
        var days=Math.floor(time/(24*3600*1000))
        var leave1=time%(24*3600*1000)    //计算天数后剩余的毫秒数  
         var hours=Math.floor(leave1/(3600*1000))  
          var leave2=leave1%(3600*1000)        //计算小时数后剩余的毫秒数  
          var minutes=Math.floor(leave2/(60*1000))  
         var local =window.localStorage;  
         local.setItem("last_time",""+days+"天"+hours+"小时");
          // alert(" 剩 "+days+"天 "+hours+"小时 "+minutes+" 分钟"结束)  
         return 3;
    }

你可能感兴趣的:(计算两个日期之间的间隔以及判断过期超时的工具类)