| | |
| | | |
| | | export function formatRelativeTime(inputTime: string | Date): string { |
| | | const now = new Date() |
| | | |
| | | // 如果是字符串格式,先进行兼容性处理 |
| | | let time: Date |
| | | if (typeof inputTime === 'string') { |
| | | // 替换中间的空格为 'T' 或替换 '-' 为 '/' |
| | | const compatibleStr = inputTime.replace(/-/g, '/') |
| | | time = new Date(compatibleStr) |
| | | } else { |
| | | time = inputTime |
| | | } |
| | | |
| | | const diffMs = now.getTime() - time.getTime() |
| | | |
| | | const minutes = Math.floor(diffMs / (1000 * 60)) |
| | | const hours = Math.floor(minutes / 60) |
| | | const days = Math.floor(hours / 24) |
| | | const months = Math.floor(days / 30) |
| | | const years = Math.floor(days / 365) |
| | | |
| | | if (years > 0) return `${years} 年前` |
| | | if (months > 0) return `${months} 个月前` |
| | | if (days > 0) return `${days} 天前` |
| | | if (hours > 0) return `${hours} 小时前` |
| | | if (minutes > 0) return `${minutes} 分钟前` |
| | | return '刚刚' |
| | | } |
| | | |
| | | export function formatRelativeTime2(inputTime: string | Date): string { |
| | | const now = new Date() |
| | | const time = typeof inputTime === 'string' ? new Date(inputTime) : inputTime |
| | | const diffMs = now.getTime() - time.getTime() |
| | | |