Spaces:
Sleeping
Sleeping
| // 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); | |
| }; | |