Add time formatting utilities with error handling for time and full datetime

This commit is contained in:
Matt 2025-07-09 13:03:21 -04:00
parent da9ab99519
commit 587c9b6422
1 changed files with 52 additions and 0 deletions

View File

@ -137,3 +137,55 @@ export const formatDateUS = (dateString: string | null | undefined): string => {
return "-";
}
};
/**
* Format time only (HH:mm)
*/
export const formatTime = (dateString: string | Date | null | undefined): string => {
if (!dateString) return "-";
try {
const date = dateString instanceof Date ? dateString : new Date(dateString);
if (isNaN(date.getTime())) {
console.warn("Invalid date format:", dateString);
return "-";
}
const hours = date.getHours().toString().padStart(2, '0');
const minutes = date.getMinutes().toString().padStart(2, '0');
return `${hours}:${minutes}`;
} catch (error) {
console.error("Error formatting time:", dateString, error);
return "-";
}
};
/**
* Format full date and time (DD/MM/YYYY HH:mm:ss)
*/
export const formatDateTime = (dateString: string | Date | null | undefined): string => {
if (!dateString) return "-";
try {
const date = dateString instanceof Date ? dateString : new Date(dateString);
if (isNaN(date.getTime())) {
console.warn("Invalid date format:", dateString);
return "-";
}
const day = date.getDate().toString().padStart(2, '0');
const month = (date.getMonth() + 1).toString().padStart(2, '0');
const year = date.getFullYear();
const hours = date.getHours().toString().padStart(2, '0');
const minutes = date.getMinutes().toString().padStart(2, '0');
const seconds = date.getSeconds().toString().padStart(2, '0');
return `${day}/${month}/${year} ${hours}:${minutes}:${seconds}`;
} catch (error) {
console.error("Error formatting datetime:", dateString, error);
return "-";
}
};