TypeScript:
Розбір дати з рядка

Як зробити:

TypeScript, будучи надмножиною JavaScript, покладається на об’єкт Date для розбору дат з рядків. Однак, робота з датами в JS/TS може стати мудрою або неточною через особливості об’єкта Date. Ось базовий приклад, за яким йде підхід з використанням популярної бібліотеки date-fns для більш надійних рішень.

Використання об’єкта Date JavaScript

// Базовий розбір з використанням конструктора Date
const dateFromString = new Date("2023-04-21T15:00:00Z");
console.log(dateFromString.toString()); 
// Вивід для GMT: "Fri Apr 21 2023 15:00:00 GMT+0000 (Координований всесвітній час)"

Цей метод працює для рядків формату ISO та деяких інших форматів дат, але може давати неоднозначні результати для неоднозначних форматів у різних браузерах та локаціях.

Використання date-fns

Бібліотека date-fns забезпечує просте та консистентне управління датами. Це модульна бібліотека, що дозволяє включати тільки ті частини, які вам потрібні, зменшуючи розмір пакета.

Спочатку встановіть date-fns:

npm install date-fns

Потім використовуйте її для розбору рядка дати:

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

// Розбір ISO рядка
const dateString = "2023-04-21T15:00:00Z";
const parsedDate = parseISO(dateString);

// Форматування дати (наприклад, у зручну для читання форму)
console.log(format(parsedDate, "PPPpp")); 
// Вивід: "Apr 21st, 2023 at 3:00 PM" (вивід може варіюватись залежно від локації)

date-fns підтримує широкий спектр форматів та локацій, роблячи її надійним вибором для додатків, яким потрібен точний розбір та форматування дат у різних користувацьких регіонах.