js 实现几分钟前、几小时前、几天前,以及几分钟后、几小时后、几天前后

js 实现几分钟前、几小时前、几天前,以及几分钟后、几小时后、几天前后

    /* *
    *  把传入的时间戳与当前时间比较,计算几分钟前、几小时前、几天前,以及几分钟后、几小时后、几天前后
    *  unixtime 需要计算的时间戳,保留到秒
    * */
    function getDateTimeFormat(unixtime) {
        var currTime = Date.parse(new Date());; 
        var time = ((parseInt(currTime)/1000) - parseInt(unixtime)) ;
   
        if(time > 0 ){
            // 少于一分钟 
            if (time < 60) { 
                return "等等";
            } 
      
            // 秒转分钟 
            var minuies = time / 60; 
            if (minuies < 60) { 
                return Math.floor(minuies) + "分钟后";
            } 
      
            // 秒转小时 
            var hours = time / 3600; 
            if (hours < 24) { 
                return Math.floor(hours) + "小时后";
            } 
            //秒转天数 
            var days = time / 3600 / 24; 
            if (days < 30) { 
                return Math.floor(days) + "天后";
            } 
            //秒转月 
            var months = time / 3600 / 24 / 30; 
            if (months < 12) { 
                return Math.floor(months) + "月后";
            } 
            //秒转年 
            var years = time / 3600 / 24 / 30 / 12; 
            return Math.floor(years) + "年后";
        }else{
            time = Math.abs(time);
            // 少于一分钟 
            if (time < 60) { 
                return "刚刚"; 
            } 
      
            // 秒转分钟 
            var minuies = time / 60; 
            if (minuies < 60) { 
                return Math.floor(minuies) + "分钟前"; 
            } 
      
            // 秒转小时 
            var hours = time / 3600; 
            if (hours < 24) { 
                return Math.floor(hours) + "小时前"; 
            } 
            //秒转天数 
            var days = time / 3600 / 24; 
            if (days < 30) { 
                return Math.floor(days) + "天前"; 
            } 
            //秒转月 
            var months = time / 3600 / 24 / 30; 
            if (months < 12) { 
                return Math.floor(months) + "月前"; 
            } 
            //秒转年 
            var years = time / 3600 / 24 / 30 / 12; 
            return Math.floor(years) + "年前";
        }
        
  
    };
原文地址:https://www.cnblogs.com/-mrl/p/9204996.html