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>
  • 相关阅读:
    Vue官方脚手架分环境打包配置及接口环境切换
    JS超全判断终端
    H5与APP(安卓及IOS)交互方法
    json数据扁平化处理(适用于接口传参复杂数据加密处理)
    VUE实践经典记录(持续更新)
    Javascript 词法分析
    三栏自适应布局
    前端神器 Firebug 2.0 新特性一览
    事件绑定(终极版)
    正则表达式(下)
  • 原文地址:https://www.cnblogs.com/mali2016/p/12564103.html
Copyright © 2011-2022 走看看