将时间格式化为几天前/几月前

/**
 * 将时间格式化为几天前/几月前
 * @param { Number } timestamp 时间戳
 * @param { String } unit 时间戳单位 秒/毫秒
 */
function formatTime (timestamp, unit = '毫秒') {
    
    
  let createTime;
  if (unit === '秒') {
    
    
    createTime = new Date(timestamp * 1000)
  } else {
    
    
    createTime = new Date(timestamp);
  }
  const NowTime = new Date();
  const timeArr = [
    ['getSeconds', '秒前'],
    ['getMinutes', '分钟前'],
    ['getHours', '小时前'],
    ['getDate', '天前'],
    ['getMonth', '月前'],
    ['getFullYear', '年前'],
  ];
  for (let i = timeArr.length - 1; i >= 0; i--) {
    
    
    let diff = Math.abs(createTime[timeArr[i][0]]() - NowTime[timeArr[i][0]]());
    if (diff > 0) {
    
    
      return `${
      
      diff}${
      
      timeArr[i][1]}`
    }
    if (i === 0 && diff === 0) {
    
    
      return '刚刚'
    }
  }
}

猜你喜欢

转载自blog.csdn.net/weixin_49524462/article/details/118513452