Sprawdź tokeny formatowania date-fns, parseISO, custom parse, locale i protected token warnings, zanim kontrakt daty trafi do kodu.
date-fns jest modularne i bezpośrednie, ale błędy produkcyjne często biorą się z detali widocznych dopiero w review: YYYY zamiast yyyy, DD zamiast dd, format parse niepasujący do inputu, brak locale w options albo reference date, które zmienia wynik parsowania. Ten playground pokazuje te decyzje wprost.
Evaluator działa w przeglądarce. Strona nie wysyła wklejonych dat, formatów ani snippetów do backendu i nie zapisuje historii.
Wybierz preset, zmień input, tryb parsowania, formaty, locale i reference date, a potem sprawdź wynik, ostrzeżenia i snippet do skopiowania.
Start od timestampu ISO i typowego outputu yyyy-MM-dd HH:mm:ss.
2026-05-26 09:30:00
2026-05-26T09:30:00.000ZSparsowana Date jako ISO. Rendering lokalny nadal może zależeć od timezone runtime.
ISO inputCustom parse waliduje string wobec wybranego formatu.
2026-05-26T09:30:00ZStabilny format date-fns do review kontraktu.
in about 10 hoursformatDistance od deterministycznego reference date.
import { format, formatDistance, parseISO } from 'date-fns';
import { enUS } from 'date-fns/locale/en-US';
const locale = enUS;
const value = parseISO("2026-05-26T09:30:00Z");
const formatted = format(value, "yyyy-MM-dd HH:mm:ss", { locale });
const distance = formatDistance(value, parseISO("2026-05-26T00:00:00.000Z"), { addSuffix: true, locale });date-fns używa reguł tokenów Unicode. YYYY i DD są chronione, bo mogą znaczyć week-year albo day-of-year. Dla zwykłego kalendarza używaj yyyy i dd.
Używaj parseISO dla stringów ISO. Używaj parse z formatem i reference date, gdy input jest customowy, użytkownikowy albo importowany z dokumentu.
Ten MVP nie ładuje date-fns-tz i nie obiecuje konwersji IANA timezone. Pokazuje granicę Date w runtime, żeby review nie myliło lokalnego outputu z silnikiem harmonogramów.
Decyzje o formacie dat zwykle łączą się z walidacją payloadu, formatowaniem kodu i inną biblioteką dat. Użyj sąsiednich narzędzi, gdy kontrakt jest szerszy niż jedno wyrażenie date-fns.
Nie. MVP celowo pokazuje granicę JS Date / ISO i nie ładuje date-fns-tz. Pełna obsługa IANA timezone powinna być osobnym narzędziem.
YYYY jest chronionym tokenem week-year w date-fns. Użyj yyyy dla roku kalendarzowego, chyba że kod aplikacji świadomie włącza dodatkowe opcje week-year.
parse i formatDistance potrzebują stabilnej referencji dla powtarzalnych przykładów. Deterministyczna wartość chroni dokumentację, testy i notatki review przed dryfem zegara.
Nie. Evaluator działa client-side, nie zapisuje historii i traktuje wklejone stringi jako prywatne dane przeglądarki.