TypeScript:
Analizando una fecha a partir de una cadena de texto
Cómo hacerlo:
TypeScript, siendo un superconjunto de JavaScript, se basa en el objeto Date para analizar fechas desde cadenas. Sin embargo, trabajar con fechas en JS/TS puede volverse verboso o impreciso debido a las peculiaridades del objeto Date. Aquí hay un ejemplo básico seguido por un enfoque que utiliza una biblioteca popular, date-fns
, para soluciones más robustas.
Usando el objeto Date de JavaScript
// Análisis básico usando el constructor Date
const dateFromString = new Date("2023-04-21T15:00:00Z");
console.log(dateFromString.toString());
// Salida para GMT: "Fri Apr 21 2023 15:00:00 GMT+0000 (Hora Universal Coordinada)"
Este método funciona para cadenas de formato ISO y algunos otros formatos de fecha, pero puede dar resultados inconsistentes para formatos ambiguos en diferentes navegadores y localidades.
Usando date-fns
La biblioteca date-fns
proporciona un manejo directo y consistente de las fechas. Es una biblioteca modular, lo que te permite incluir solo las partes que necesitas, reduciendo el tamaño del bundle.
Primero, instala date-fns
:
npm install date-fns
Luego, úsala para analizar una cadena de fecha:
import { parseISO, format } from 'date-fns';
// Analizando una cadena ISO
const dateString = "2023-04-21T15:00:00Z";
const parsedDate = parseISO(dateString);
// Formateando la fecha (por ejemplo, en una forma legible por humanos)
console.log(format(parsedDate, "PPPpp"));
// Salida: "Apr 21st, 2023 at 3:00 PM" (la salida puede variar según la localidad)
date-fns
admite una amplia variedad de formatos y localidades, lo que la convierte en una opción robusta para aplicaciones que necesitan un análisis y formato precisos de fechas en diferentes regiones de usuarios.