zoukankan      html  css  js  c++  java
  • 记录-js实现发布了多久时间处理

    <!DOCTYPE html>
    
    <html lang="en">
    
    <head>
    
        <meta charset="UTF-8">
    
        <title>Title</title>
    
    </head>
    
    <script>
    
       function getTs(time){
    
        var arr = time.split(/[- :]/),
    
        _date = new Date(arr[0], arr[1]-1, arr[2], arr[3], arr[4], arr[5]),
    
        timeStr = Date.parse(_date)
    
        return timeStr
    
    }    function handlePublishTimeDesc(post_modified){
    
            // 拿到当前时间戳和发布时的时间戳,然后得出时间戳差
    
            var curTime = new Date();
    
            var postTime = new Date(post_modified);                  //部分浏览器不兼容此转换建议所以对此进行补充(指定调用自己定义的函数进行生成发布时间的时间戳)
    
           //var timeDiff = curTime.getTime() - postTime.getTime();
    
            //上面一行代码可以换成以下(兼容性的解决)
    
            var timeDiff = curTime.getTime() - getTs(post_modified);
    
            // 单位换算
    
            var min = 60 * 1000;
    
            var hour = min * 60;
    
            var day = hour * 24;
    
            var week = day * 7;
    
            var month =  week*4;
    
            var year = month*12;
    
            // 计算发布时间距离当前时间的周、天、时、分
    
            var  exceedyear = Math.floor(timeDiff/year);
    
            var exceedmonth = Math.floor(timeDiff/month);
    
            var exceedWeek = Math.floor(timeDiff/week);
    
            var exceedDay = Math.floor(timeDiff/day);
    
            var exceedHour = Math.floor(timeDiff/hour);
    
            var exceedMin = Math.floor(timeDiff/min);
    
            // 最后判断时间差到底是属于哪个区间,然后return
    
            if(exceedyear<100&&exceedyear>0){
    
                return exceedyear + '年前';
    
                }else{
    
                if(exceedmonth<12&&exceedmonth>0){
    
                    return exceedmonth + '月前';
    
                    }else{
    
                    if(exceedWeek<4&&exceedWeek>0){
    
                        return exceedWeek + '星期前';
    
                        }else{
    
                        if(exceedDay < 7 && exceedDay > 0){
    
                            return exceedDay + '天前';
    
                            }else {
    
                            if (exceedHour < 24 && exceedHour > 0) {
    
                                return exceedHour + '小时前';
    
                            } else {
    
                                return exceedMin + '分钟前';
    
                            }
    
                        }
    
                        }
    
                    }
    
                }
    
        }
    
        window.onload(alert(handlePublishTimeDesc("2018-10-26 15:33:0.0")));
    
    </script>
    
    <body>
    
    </body>
    
    </html>
  • 相关阅读:
    vant框架的select下拉框
    监听滚轴高度
    关于使用iframe的父子页面进行简单的相互传值
    vue监听移动端物理返回
    vue+ElementUI项目中,input只能输入正整数的验证
    移动端公共样式
    协程嵌套协程
    基础知识
    汉化包
    .ui转.py文件命令
  • 原文地址:https://www.cnblogs.com/mali2016/p/12564103.html
Copyright © 2011-2022 走看看