javascript时间转描述

源码

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);
  }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容