Analisando uma data a partir de uma string

TypeScript:
Analisando uma data a partir de uma string

Como Fazer:

O TypeScript, sendo um superconjunto do JavaScript, depende do objeto Date para analisar datas de strings. No entanto, trabalhar com datas em JS/TS pode se tornar verboso ou impreciso devido às peculiaridades do objeto Date. Aqui está um exemplo básico seguido por uma abordagem utilizando uma biblioteca popular, date-fns, para soluções mais robustas.

Usando o Objeto Date do JavaScript

// Análise básica usando o construtor Date
const dateFromString = new Date("2023-04-21T15:00:00Z");
console.log(dateFromString.toString()); 
// Saída para GMT: "Sex Abr 21 2023 15:00:00 GMT+0000 (Tempo Universal Coordenado)"

Este método funciona para strings no formato ISO e alguns outros formatos de data, mas pode gerar resultados inconsistentes para formatos ambíguos em diferentes navegadores e localidades.

Usando date-fns

A biblioteca date-fns fornece um tratamento direto e consistente de datas. É uma biblioteca modular, permitindo que você inclua apenas as partes que precisa, reduzindo o tamanho do pacote.

Primeiro, instale o date-fns:

npm install date-fns

Em seguida, use-a para analisar uma string de data:

import { parseISO, format } from 'date-fns';

// Analisando uma string ISO
const dateString = "2023-04-21T15:00:00Z";
const parsedDate = parseISO(dateString);

// Formatando a data (por exemplo, em uma forma legível por humanos)
console.log(format(parsedDate, "PPPpp")); 
// Saída: "21 de Abr de 2023 às 15:00" (a saída pode variar com base na localidade)

O date-fns suporta uma grande variedade de formatos e localidades, tornando-o uma escolha robusta para aplicações que necessitam de análise e formatação de datas precisas em diferentes regiões de usuários.