美文网首页
时间戳转换为时间格式和几天前、级分钟前等,倒计时

时间戳转换为时间格式和几天前、级分钟前等,倒计时

作者: 吴小冷 | 来源:发表于2020-04-13 11:55 被阅读0次

    正常时间格式:2020-10-10 08:56:28

    dateTime(now) {
          var date = new Date(now * 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;
        }
    //在需要用到的时候调用,传参是需要转换的时间戳
    

    秒转换成时间

    formatSeconds(value) {
        var theTime = parseInt(value);// 秒
        var middle= 0;// 分
        var hour= 0;// 小时
        if(theTime > 60) {
            middle= parseInt(theTime/60);
            theTime = parseInt(theTime%60);
            if(middle> 60) {
                hour= parseInt(middle/60);
                middle= parseInt(middle%60);
            }
        }
        var result = ""+parseInt(theTime)+"秒";
        if(middle > 0) {
            result = ""+parseInt(middle)+"分"+result;
        }
        if(hour> 0) {
            result = ""+parseInt(hour)+"小时"+result;
        }
        return result;
    }
    

    秒数转换倒计时:00:08:25

     // 时间转换
          formatBit(val) {
            val = +val;
            return val > 9 ? val : "0" + val;
          }, // 秒转时分秒,求模很重要,数字的下舍入
          formatSeconds(time) {
            let min = Math.floor(time % 3600);
            let val =
              this.formatBit(Math.floor(time / 3600)) +
              ":" +
              this.formatBit(Math.floor(min / 60)) +
              ":" +
              this.formatBit(time % 60);
            return val;
          }, // 定时器
          minReturn(time_limit) {
            //参数为秒*60,参数为分钟不需要
            let time = time_limit * 60;
            let t = setInterval(() => {
              time--;
              //定义全局变量 timeDown 作为在页面上展示
              //下面一行业可以更改为 return this.formatSeconds(time)  没尝试过
              this.timeDown = this.formatSeconds(time);
              if (time <= 0) {
                clearInterval(t);
              }
            }, 1000);
          },
    

    时间戳转换为刚刚、XX分钟前、XX小时前、XX天前等等等
    放在export default{}的外面然后在组件中通过过滤方式来进行调用

    export function timeago(dateTimeStamp) {
        // dateTimeStamp是一个时间毫秒,注意时间戳是秒的形式,在这个毫秒的基础上除以1000,就是十位数的时间戳。13位数的都是时间毫秒。
        let minute = 1000 * 60;      //把分,时,天,周,半个月,一个月用毫秒表示
        let hour = minute * 60;
        let day = hour * 24;
        let week = day * 7;
        //var halfamonth = day * 15;
        let month = day * 30;
        let now = new Date().getTime();   //获取当前时间毫秒
        let diffValue = now - dateTimeStamp;//时间差
        if (diffValue < 0) { return; }
        let minC = diffValue / minute;  //计算时间差的分,时,天,周,月
        let hourC = diffValue / hour;
        let dayC = diffValue / day;
        let weekC = diffValue / week;
        let monthC = diffValue / month;
        let result
        if (monthC >= 1) {
            result = "" + parseInt(monthC) + "月前";
        }
        else if (weekC >= 1) {
            result = "" + parseInt(weekC) + "周前";
        }
        else if (dayC >= 1) {
            result = "" + parseInt(dayC) + "天前";
        }
        else if (hourC >= 1) {
            result = "" + parseInt(hourC) + "小时前";
        }
        else if (minC >= 1) {
            result = "" + parseInt(minC) + "分钟前";
        } else
            result = "刚刚";
        return result;
    }
    

    放在export default{}的里面

    filters:{
         //调用 Timer 方法
        Timer: function(str) {
          //时间戳为10位数的需要*1000
           let times = Number(str) * 1000;
           return timeago(times);
        }
      },
    

    在页面上使用

    <span>{{ item.create_time | Timer(item.create_time) }}</span>
    

    相关文章

      网友评论

          本文标题:时间戳转换为时间格式和几天前、级分钟前等,倒计时

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