Plac zabaw date-fns
Testuj i eksperymentuj z funkcjami biblioteki date-fns w interaktywnym środowisku JavaScript z natychmiastowym wynikiem
Wejście
Wyjście
Instrukcja
Co to jest date-fns?
date-fns to nowoczesna biblioteka narzędzi dat w JavaScript, oferująca kompleksowe, spójne i niezawodne funkcje do pracy z datami w JavaScript. W przeciwieństwie do natywnego obiektu Date w JavaScript, który ma wiele nieścisłości i dziwactw, date-fns zapewnia modularne, funkcyjne podejście do manipulacji datami. Biblioteka jest tree‑shakeable, co oznacza, że dołączasz tylko te funkcje, których faktycznie używasz, utrzymując rozmiar pakietu na minimalnym poziomie. Biblioteka zawiera ponad 200 funkcji obejmujących wszystko, od formatowania i parsowania po porównywanie, manipulowanie i lokalizowanie dat.
Dlaczego warto używać playgrounda date-fns?
Praca z datami w JavaScript może być trudna — strefy czasowe, wzorce formatowania i arytmetyka dat często prowadzą do nieoczekiwanych wyników. Środowisko playground pozwala eksperymentować z funkcjami date-fns w czasie rzeczywistym, zobaczyć natychmiastowy wynik i poznać API bez konieczności konfigurowania pełnego projektu. Jest idealne do testowania ciągów formatowania, debugowania obliczeń dat lub szybkiego prototypowania logiki dat przed jej integracją w aplikacji.
Opis narzędzia
date-fns Playground to interaktywne środowisko kodowania, które umożliwia pisanie i wykonywanie kodu JavaScript z w pełni załadowaną biblioteką date-fns. Cała biblioteka date-fns jest dostępna poprzez obiekt dateFns, dając dostęp do wszystkich 200+ funkcji. Kod uruchamia się automatycznie w miarę pisania (z debouncingiem), a wszystkie wyjścia console.log, console.warn i console.error pojawiają się w wbudowanym terminalu pod edytorem. Dzięki temu idealnie nadaje się do nauki date-fns, testowania operacji na datach i eksperymentowania z różnymi opcjami formatowania.
Przykłady
Formatuj bieżącą datę:
const now = new Date();
console.log(dateFns.format(now, "MMMM do, yyyy"));
// Output: December 30th, 2025Oblicz liczbę dni między dwiema datami:
const start = new Date(2025, 0, 1);
const end = new Date(2025, 11, 31);
console.log(dateFns.differenceInDays(end, start) + " days");
// Output: 364 daysDodaj czas do daty:
const today = new Date();
const nextWeek = dateFns.addWeeks(today, 1);
const nextMonth = dateFns.addMonths(today, 1);
console.log("Next week:", dateFns.format(nextWeek, "yyyy-MM-dd"));
console.log("Next month:", dateFns.format(nextMonth, "yyyy-MM-dd"));Sprawdź, czy data jest w przeszłości lub w przyszłości:
const date = new Date(2024, 5, 15);
console.log("Is past?", dateFns.isPast(date));
console.log("Is future?", dateFns.isFuture(date));Parsuj ciąg daty:
const parsed = dateFns.parse("25/12/2025", "dd/MM/yyyy", new Date());
console.log(dateFns.format(parsed, "EEEE, MMMM do, yyyy"));
// Output: Thursday, December 25th, 2025Funkcje
- Pełna biblioteka date-fns: Dostęp do wszystkich 200+ funkcji date-fns poprzez obiekt
dateFns - Wykonywanie kodu na żywo: Kod uruchamia się automatycznie w miarę pisania z inteligentnym debouncingiem
- Wbudowany terminal: Natychmiastowy podgląd wyjścia konsoli bez użycia narzędzi deweloperskich przeglądarki
- Podświetlanie składni: Podświetlanie składni JavaScript dla lepszej czytelności kodu
- Obsługa błędów: Błędy w czasie wykonywania są wyraźnie wyświetlane w terminalu
Przypadki użycia
- Nauka date-fns: Eksperymentuj z różnymi funkcjami i zobacz wyniki od razu, bez konfigurowania projektu
- Testowanie formatów dat: Wypróbuj różne ciągi formatowania, aby znaleźć dokładny wzorzec wyjścia, którego potrzebujesz
- Prototypowanie obliczeń dat: Testuj złożoną arytmetykę dat, taką jak dodawanie dni roboczych, znajdowanie interwałów czy porównywanie dat
- Debugowanie logiki dat: Izoluj i testuj fragmenty kodu związane z datami z Twoich projektów
- Szybkie konwersje dat: Konwertuj między formatami dat lub obliczaj różnice czasowe w locie
Popularne funkcje date-fns
| Funkcja | Opis | Przykład |
|---|---|---|
format |
Formatuje datę do ciągu znaków | dateFns.format(date, "yyyy-MM-dd") |
parse |
Parsuje ciąg znaków do daty | dateFns.parse("2025-01-01", "yyyy-MM-dd", new Date()) |
addDays |
Dodaje dni do daty | dateFns.addDays(date, 7) |
subMonths |
Odejmuję miesiące od daty | dateFns.subMonths(date, 3) |
differenceInDays |
Zwraca liczbę dni między datami | dateFns.differenceInDays(dateA, dateB) |
isAfter |
Sprawdza, czy data jest po innej | dateFns.isAfter(dateA, dateB) |
isBefore |
Sprawdza, czy data jest przed inną | dateFns.isBefore(dateA, dateB) |
startOfMonth |
Zwraca pierwszy dzień miesiąca | dateFns.startOfMonth(date) |
endOfYear |
Zwraca ostatni moment roku | dateFns.endOfYear(date) |
formatDistance |
Czytelna różnica czasowa | dateFns.formatDistance(dateA, dateB) |
Referencja tokenów formatowania
| Token | Opis | Przykład |
|---|---|---|
yyyy |
Rok czterocyfrowy | 2025 |
MM |
Miesiąc dwucyfrowy | 01‑12 |
MMMM |
Pełna nazwa miesiąca | January |
dd |
Dzień dwucyfrowy | 01‑31 |
do |
Dzień z liczebnikiem porządkowym | 1st, 2nd, 3rd |
EEEE |
Pełna nazwa dnia tygodnia | Monday |
EEE |
Skrócona nazwa dnia tygodnia | Mon |
HH |
Godzina w formacie 24‑godzinnym | 00‑23 |
hh |
Godzina w formacie 12‑godzinnym | 01‑12 |
mm |
Minuty | 00‑59 |
ss |
Sekundy | 00‑59 |
a |
AM/PM | AM, PM |