date-util.ts 966 B

12345678910111213141516
  1. export const beforeNow = (date: Date) => {
  2. const now = new Date()
  3. // 1分钟内发布的,展示刚刚;
  4. if (now.getTime() - date.getTime() < 60 * 1000) return '刚刚'
  5. // 大于1分钟小于1小时内发布的,展示x分钟前;
  6. if (now.getTime() - date.getTime() < 60 * 60 * 1000)
  7. return `${Math.floor((now.getTime() - date.getTime()) / 60 / 1000)}分钟前`
  8. // 大于1小时小于1天内发布的,展示x小时前;
  9. if (now.getTime() - date.getTime() < 24 * 60 * 60 * 1000)
  10. return `${Math.floor((now.getTime() - date.getTime()) / 60 / 60 / 1000)}小时前`
  11. // 大于1天且本年内发布的,显示mm-dd hh:mm;
  12. if (now.getFullYear() === date.getFullYear())
  13. return `${date.getMonth() + 1}-${date.getDate()} ${date.getHours()}:${date.getMinutes()}`
  14. // 不是本年内发布的,显示yyyy-mm-dd hh:mm;
  15. return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()} ${date.getHours()}:${date.getMinutes()}`
  16. }