export function formatDate(date: string | Date, fmt = 'YYYY-MM-DD'): string { const d = typeof date === 'string' ? new Date(date) : date const map: Record = { 'YYYY': String(d.getFullYear()), 'MM': String(d.getMonth() + 1).padStart(2, '0'), 'DD': String(d.getDate()).padStart(2, '0'), 'HH': String(d.getHours()).padStart(2, '0'), 'mm': String(d.getMinutes()).padStart(2, '0'), } let result = fmt for (const [k, v] of Object.entries(map)) { result = result.replace(k, v) } return result } export function getRelativeTime(date: string): string { const now = Date.now() const target = new Date(date).getTime() const diff = now - target const minutes = Math.floor(diff / 60000) if (minutes < 1) return '刚刚' if (minutes < 60) return `${minutes}分钟前` const hours = Math.floor(minutes / 60) if (hours < 24) return `${hours}小时前` const days = Math.floor(hours / 24) if (days < 30) return `${days}天前` return formatDate(date) }