Date/time

Day.js Date/Time Playground

Sprawdz formaty Day.js, strict parsing, lokalizowany wynik, local vs UTC i relative time zanim kontrakt dat trafi do kodu.

  • Input zostaje w przegladarce
  • Porownanie local i UTC
  • Jawny plugin setup

Formatowanie dat bez zgadywania

Day.js jest lekki, znajomy i oparty o pluginy, ale produkcyjne bledy czesto wynikaja z detali: brakujacego customParseFormat, locale ustawionego globalnie, timestampu UTC pokaznego jako local albo tokenu formatowania, ktory wyglada poprawnie, ale opisuje zly kontrakt. Ten playground pokazuje te decyzje wprost.

Evaluator dziala w przegladarce. Strona nie wysyla dat, formatow ani snippetow do backendu i nie zapisuje historii.

Formatuj i parsuj z Day.js

Wybierz preset, zmien input, parse format, output format, locale i mode, a potem porownaj wynik local, UTC, localized i relative.

Local

Start od timestampu ISO i typowy format dashboardowy.

Kontrakt wejscia

Wynik Day.js

Sformatowano
2026-05-26 09:30:00
ISO output
2026-05-26T09:30:00.000Z
Unix ms
1779787800000

Local output

2026-05-26 09:30:00

Uzywa lokalnej strefy runtime/przegladarki.

UTC output

2026-05-26 09:30:00

Parsuje i formatuje przez dayjs.utc(...).

Localized output

Tuesday, May 26, 2026 9:30 AM

Uzywa wybranego locale na instancji wartosci.

Relative time

a few seconds ago

Liczone od deterministycznego pola referenceNow.

Aktywne pluginy

  • customParseFormat
  • utc
  • localizedFormat
  • relativeTime
  • advancedFormat

Notatki review

  • No custom parse format is active; Day.js uses its standard parser for this input.
  • Local mode uses the browser/runtime timezone. Compare with UTC before using the value in API payloads.

Powtarzalny snippet

import dayjs from 'dayjs';
import customParseFormat from 'dayjs/plugin/customParseFormat';
import utc from 'dayjs/plugin/utc';
import localizedFormat from 'dayjs/plugin/localizedFormat';
import relativeTime from 'dayjs/plugin/relativeTime';
import advancedFormat from 'dayjs/plugin/advancedFormat';

dayjs.extend(customParseFormat);
dayjs.extend(utc);
dayjs.extend(localizedFormat);
dayjs.extend(relativeTime);
dayjs.extend(advancedFormat);

const value = dayjs("2026-05-26T09:30:00Z").locale("en");
const output = value.format("YYYY-MM-DD HH:mm:ss");

Co sprawdzic przed shipem kodu dat

Format tokens

Tokeny takie jak YYYY, MM, DD, HH, mm, ss, Z, dddd i LLL opisuja kontrakt. Pokaz zamierzony wynik przed skopiowaniem go do API docs, labeli UI albo skryptow release.

Local vs UTC

Timestamp z Z moze wygladac inaczej w local mode niz w UTC mode. Porownaj oba warianty przed uzyciem wartosci w payloadach, logach albo release notes.

Locale i pluginy

Locale i pluginy Day.js sa jawne. Ten playground pokazuje customParseFormat, utc, localizedFormat, relativeTime i advancedFormat, zeby snippet nie ukrywal pracy setupowej.

Stringi dat czesto przechodza przez sformatowany kod i payloady JSON. Uzyj sasiednich narzedzi, gdy kontrakt jest szerszy niz jedna ekspresja Day.js.

FAQ

Czy to obejmuje pelna konwersje stref IANA?

Nie. MVP celowo obejmuje local vs UTC i locale output. Pelny timezone lab bylby osobnym produktem.

Dlaczego referenceNow jest edytowalne?

Relative time musi byc powtarzalne. Stala data referencyjna daje deterministyczne testy, dokumentacje i review comments.

Czy strona zmienia globalne locale Day.js?

Nie. Evaluator ustawia locale na instancji Day.js, wiec testy i requesty SSR nie dziedzicza ukrytego globalnego locale.

Czy to zastepuje testy w repozytorium?

Nie. Uzyj playgroundu do sprawdzenia kontraktu dat, a finalne parsowanie i formatowanie trzymaj w normalnych testach jednostkowych.