Spaces:
Sleeping
Sleeping
File size: 1,581 Bytes
6234767 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | // 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);
};
|