美文网首页
javascript时间转描述

javascript时间转描述

作者: 平仄_pingze | 来源:发表于2018-03-08 14:37 被阅读9次

    源码

    function dateFormat(fmt, date) {
      date = date || new Date();
      let o = {
        'M+': date.getMonth() + 1,
        'd+': date.getDate(),
        'h+': date.getHours(),
        'm+': date.getMinutes(),
        's+': date.getSeconds(),
        'q+': Math.floor((date.getMonth() + 3) / 3),
        'S': date.getMilliseconds()
      };
      if (/(y+)/.test(fmt)) {
        fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
      }
      for (let k in o) {
        if (new RegExp('(' + k + ')').test(fmt)) {
          fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1)
            ? (o[k])
            : (('00' + o[k]).substr(('' + o[k]).length)));
        }
      }
      return fmt;
    }
    
    function createTimeText(time) {
      const now = new Date();
      const diffSec = ~~((+now - time) / 1000); 
      time = new Date(+time);
      if (diffSec < 0) {
        return '';
      } else if (diffSec < 60) {
        return '刚刚';
      } else if (diffSec < 3600) {
        return `${~~(diffSec / 60)}分钟前`
      } else if (diffSec < 86400) {
        return `${~~(diffSec / 3600)}小时前`
      } else if (diffSec < 691200) {
        return `${~~(diffSec / 86400)}天前`
      } else if (time.getFullYear() === now.getFullYear()) {
        return dateFormat('MM-dd', time);
      } else {
        return dateFormat('yyyy-MM-dd', time);
      }
    }
    

    相关文章

      网友评论

          本文标题:javascript时间转描述

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