export function formatDate( dateStr?: string | null, format: string = 'YYYY-MM-DD', fallback: string = '-', ): string { if (!dateStr) return fallback const date = new Date(dateStr) if (isNaN(date.getTime())) return fallback const map: Record = { YYYY: date.getFullYear(), MM: String(date.getMonth() + 1).padStart(2, '0'), DD: String(date.getDate()).padStart(2, '0'), HH: String(date.getHours()).padStart(2, '0'), mm: String(date.getMinutes()).padStart(2, '0'), ss: String(date.getSeconds()).padStart(2, '0'), } return format.replace(/YYYY|MM|DD|HH|mm|ss/g, matched => String(map[matched])) }