Analizando una fecha a partir de una cadena de texto

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.