1. 程式人生 > >時間顯示幾秒幾分鐘幾小時前

時間顯示幾秒幾分鐘幾小時前

例如:釋出文章,顯示時間,在一天內顯示時間為幾秒前,幾分鐘前,幾小時前,一天以後顯示釋出時的日期;

一天內:顯示時間為 => 當前時間(+new Date())- 釋出時間(recordTime)

一天後:顯示時間為 => 釋出時間(recordTime)

// 釋出時間
// recordTime為提交的時間

export const releaseTime = (recordTime) => {
  const duration = (+new Date() - recordTime) / 1000;
  let displayTime = ''
  if (duration < 60) {
    displayTime = `${Math.round(Math.max(duration, 1))} 秒前`;
  }else if (duration < 60*60) {
    displayTime = `${Math.round(duration / 60)} 分鐘前`;
  }else if (duration < 60*60*24) {
    displayTime = `${Math.round(duration / 60 / 60)} 小時前`;
  }else {
    displayTime = dateTime(recordTime);
  }
  return displayTime;
}

// 超過一天後顯示釋出日期

export const dateTime = (time) => {
  const times = new Date(time);
  const Y = times.getFullYear();
  let M = times.getMonth() + 1;
  M = M < 10 ? '0' + M : M;
  let D = times.getDate();
  D = D < 10 ? '0' + D : D;
  return `${Y}年-${M}月-${D}日`;
}