DateUtils
La clase DateUtils proporciona una colección de métodos para manipular y dar formato a fechas, especialmente útiles en aplicaciones que trabajan con fechas en formato ISO (yyyy-mm-dd) y requieren mostrar fechas legibles para el usuario.
Implementación del Util
Section titled “Implementación del Util”class DateUtils { dateFormat(date: `${string}-${string}-${string}`) { const [year, month, day] = date.split("-"); return `${day}/${month}/${year}`; }
dateSpanishFormat(date: `${string}-${string}-${string}` | null) { return date ? this.dateFormat(date) : ""; }
dateFromISO(isoDate: string) { const date = new Date(isoDate); const day = String(date.getDate()).padStart(2, "0"); const month = String(date.getMonth() + 1).padStart(2, "0"); // Month is 0-indexed const year = date.getFullYear(); return `${day}/${month}/${year}`; }
timeFromISO(isoTime: string) { const [hours, minutes, seconds] = isoTime.split(":"); return `${hours}:${minutes}:${seconds.split(".")[0]}`; }
getYear(isoDate: string | null): string { if (!isoDate) return ""; const date = new Date(isoDate); return date.getFullYear().toString(); }
dateWithMonthName(date: string) { const [, month, day] = date.split("-"); const monthNames = [ "ENERO", "FEBRERO", "MARZO", "ABRIL", "MAYO", "JUNIO", "JULIO", "AGOSTO", "SEPTIEMBRE", "OCTUBRE", "NOVIEMBRE", "DICIEMBRE", ];
const monthIndex = Number(month); if (!monthIndex || monthIndex < 1 || monthIndex > 12) return "";
return `${parseInt(day)} ${monthNames[monthIndex - 1]}`; }}
export const dateUtils = new DateUtils();Ejemplo de Uso
Section titled “Ejemplo de Uso”export const dateUtils = new DateUtils();
// Convierte una fecha en formato "yyyy-mm-dd" a "dd/mm/yyyy".dateUtils.dateFormat("2025-05-22"); // "22/05/2025"
// Convierte una fecha en formato "yyyy-mm-dd" o null a "dd/mm/yyyy",// devolviendo una cadena vacía si el valor es null.dateUtils.dateSpanishFormat("2025-12-01"); // "01/12/2025"dateUtils.dateSpanishFormat(null); // ""
// Convierte una fecha en formato ISO (yyyy-mm-ddTHH:MM:SSZ) a "dd/mm/yyyy".dateUtils.dateFromISO("2025-05-22T14:30:00Z"); // "22/05/2025"
//Extrae la hora (hh:mm:ss) de un string ISO de tiempo como "14:30:00.000Z".dateUtils.timeFromISO("14:30:00.000Z"); // "14:30:00"
//Devuelve el año ("yyyy") de una fecha ISO o una cadena vacía si el valor es null.dateUtils.getYear("2025-05-22"); // "2025"dateUtils.getYear(null); // ""
//Convierte una fecha en formato "yyyy-mm-dd" a un formato con nombre de mes en español, en mayúsculas, como "22 MAYO".dateUtils.dateWithMonthName("2025-05-22"); // "22 MAYO"