// Date formatting utility for consistent date display across the app /** * Formats a date string to DD/MM/YYYY format * @param dateStr - Date string in any format * @returns Formatted date string (DD/MM/YYYY) */ export const formatDate = (dateStr: string | Date): string => { const date = typeof dateStr === 'string' ? new Date(dateStr) : dateStr; if (isNaN(date.getTime())) { return '-'; } return date.toLocaleDateString('en-IN', { day: '2-digit', month: '2-digit', year: 'numeric' }); }; /** * Formats a date string to YYYY-MM-DD format (for input fields) * @param dateStr - Date string in any format * @returns Formatted date string (YYYY-MM-DD) */ export const formatDateForInput = (dateStr: string | Date): string => { const date = typeof dateStr === 'string' ? new Date(dateStr) : dateStr; if (isNaN(date.getTime())) { return ''; } const year = date.getFullYear(); const month = String(date.getMonth() + 1).padStart(2, '0'); const day = String(date.getDate()).padStart(2, '0'); return `${year}-${month}-${day}`; }; /** * Gets today's date in YYYY-MM-DD format * @returns Today's date string */ export const getTodayDate = (): string => { return formatDateForInput(new Date()); }; /** * Formats a date to display only date (no time) * @param dateStr - Date string * @returns Formatted date string */ export const formatDateOnly = (dateStr: string | Date): string => { return formatDate(dateStr); };