time.js 1.16 KB
Newer Older
wuhao's avatar
wuhao committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
import dayjs from 'dayjs';

export function difftime(start) {
  const s = dayjs(),e = dayjs(start);
  const diffInMs = s.diff(e);
  if (diffInMs < 60 * 60 * 1000) {
    // 时间差小于 1 小时,转为分钟
    const diffInMinutes = Math.round(diffInMs / (60 * 1000));
    return diffInMinutes + '分钟前';
  } else {
    // 时间差大于等于 1 小时,继续判断是否超过 24 小时
    const diffInHours = Math.round(diffInMs / (60 * 60 * 1000));
    if (diffInHours >= 24) {
      // 时间差超过 24 小时,转为天
      const diffInDays = Math.round(diffInHours / 24);
      return diffInDays + '天前';
    } else {
      // 时间差在 1 小时到 24 小时之间,直接输出小时数
      return diffInHours + '小时前';
    }
  }
}

export function formartime(now) {
  // 获取当前时间
  const hour = now.hour();
  let timeOfDay = '';

  if (hour >= 5 && hour < 12) {
    timeOfDay = '上午';
  } else if (hour === 12) {
    timeOfDay = '中午';
  } else if (hour > 12 && hour < 18) {
    timeOfDay = '下午';
  } else if (hour >= 18 && hour < 24) {
    timeOfDay = '晚上';
  } else {
    timeOfDay = '凌晨';
  }

  return timeOfDay;
}