/** * Formatting utilities for time and dates */ /** * Format seconds to HH:MM:SS or MM:SS */ export function formatTime(seconds: number): string { const hours = Math.floor(seconds / 3600); const minutes = Math.floor((seconds % 3600) / 60); const secs = Math.floor(seconds % 60); if (hours > 0) { return `${hours}:${minutes.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`; } return `${minutes}:${secs.toString().padStart(2, '0')}`; } /** * Format timestamp to relative date (今天, 昨天, X天前, or date) */ export function formatDate(ts: number): string { const date = new Date(ts); const now = new Date(); const diff = now.getTime() - date.getTime(); const days = Math.floor(diff / (1000 * 60 * 60 * 24)); if (days === 0) return '今天'; if (days === 1) return '昨天'; if (days < 7) return `${days}天前`; return date.toLocaleDateString('zh-CN', { month: 'short', day: 'numeric' }); }