美文网首页
时间格式化函数

时间格式化函数

作者: 苦咖啡Li | 来源:发表于2018-09-06 14:39 被阅读0次

方法一:

1、字符串时间转换为时间戳
 //  字符串时间转换为时间戳
        getDateTimeStamp (dateStr) {
            return Date.parse(dateStr.replace(/-/gi,"/"));
        }
2、时间戳格式化成 ==几小时前==
 //  时间格式化函数
        timeTampFormat(timestamp){
            var mistiming=Math.round(new Date() / 1000)- Math.round( getDateTimeStamp(timestamp)/1000);
            var arrr = ['年','个月','星期','天','小时','分钟','秒'];
            var arrn = [31536000,2592000,604800,86400,3600,60,1];
            for(var i=0;i<=6;i++){
                var inm = Math.floor(mistiming/arrn[i]);
                if(inm!=0){
                    return inm+arrr[i]+'前';
                }
            }
        },

方法二:

 getDateDiff (dateStr) {
            //   获取指定时间的时间戳
            var publishTime =  getDateTimeStamp(dateStr)/1000,
                d_seconds,
                d_minutes,
                d_hours,
                d_days,
                //   获取当前时间的时间戳
                timeNow = parseInt(new Date().getTime()/1000),
                d,

                date = new Date(publishTime*1000),
                Y = date.getFullYear(),
                M = date.getMonth() + 1,
                D = date.getDate(),
                H = date.getHours(),
                m = date.getMinutes(),
                s = date.getSeconds();
                //小于10的在前面补0
                if (M < 10) {
                    M = '0' + M;
                }
                if (D < 10) {
                    D = '0' + D;
                }
                if (H < 10) {
                    H = '0' + H;
                }
                if (m < 10) {
                    m = '0' + m;
                }
                if (s < 10) {
                    s = '0' + s;
                }

            d = timeNow - publishTime;
            d_days = parseInt(d/86400);
            d_hours = parseInt(d/3600);
            d_minutes = parseInt(d/60);
            d_seconds = parseInt(d);

            if(d_days > 0 && d_days < 3){
                return d_days + '天前';
            }else if(d_days <= 0 && d_hours > 0){
                return d_hours + '小时前';
            }else if(d_hours <= 0 && d_minutes > 0){
                return d_minutes + '分钟前';
            }else if (d_seconds < 60) {
                if (d_seconds <= 0) {
                    return '刚刚';
                }else {
                    return d_seconds + '秒前';
                }
            }else if (d_days >= 3 && d_days < 30){
                return M + '-' + D + '&nbsp;' + H + ':' + m;
            }else if (d_days >= 30) {
                return Y + '-' + M + '-' + D + '&nbsp;' + H + ':' + m;
            }
        }    

相关文章

网友评论

      本文标题:时间格式化函数

      本文链接:https://www.haomeiwen.com/subject/oubmbftx.html