import dayjs from 'dayjs'; import relativeTime from 'dayjs/plugin/relativeTime'; // 导入插件 import 'dayjs/locale/zh-cn'; // 导入本地化语言 /** * Reference: https://day.js.org/ */ dayjs.extend(relativeTime); dayjs.locale('zh-cn'); /** * 是否为当天 */ export function isToday(date: dayjs.ConfigType): boolean { return dayjs(date).isSame(dayjs(), 'd'); } /** * 获取消息显示时间 */ export function getMessageTimeDiff(input: Date): string { const date = dayjs(input); if (isToday(date)) { return date.fromNow(); } else { return date.format('YYYY-MM-DD HH:mm:ss'); } } /** * 是否应该显示消息时间 * 间隔时间大于十五分钟则显示 */ export function shouldShowMessageTime(date1: Date, date2: Date): boolean { return Math.abs(date1.valueOf() - date2.valueOf()) > 15 * 60 * 1000; } /** * 格式化为 小时:分钟 */ export function formatShortTime(date: dayjs.ConfigType): string { return dayjs(date).format('HH:mm'); }