date-fns-harjoitusympäristö
Testaa ja kokeile date-fns-kirjaston funktioita live-JavaScript-harjoitusympäristössä välittömällä tulosteella
Syöte
Tuloste
Lue lisää
Mikä on date-fns?
date-fns on moderni JavaScript‑päivämääräkirjasto, joka tarjoaa kattavat, yhdenmukaiset ja luotettavat työkalut päivämäärien käsittelyyn JavaScriptissä. Toisin kuin natiivinen JavaScript‑Date‑objekti, jolla on monia omituisuuksia ja epäyhtenäisyyksiä, date-fns tarjoaa modulaarisen, funktionaalisen lähestymistavan päivämäärämuokkaukseen. Se on tree‑shakeable, eli sisällytät vain ne funktiot, joita todella käytät, pitäen pakettikoon mahdollisimman pienenä. Kirjasto tukee yli 200 funktiota, jotka kattavat kaiken muotoilusta ja jäsentämisestä vertailuun, manipulointiin ja paikalliseen käännökseen.
Miksi käyttää date-fns‑leikkikenttää?
Päivämäärien käsittely JavaScriptissä voi olla hankalaa – aikavyöhykkeet, muotoilumallit ja päivämääräaritmetiikka johtavat usein odottamattomiin tuloksiin. Leikkikenttäympäristö antaa mahdollisuuden kokeilla date-fns‑funktioita reaaliajassa, nähdä välittömät tulokset ja oppia API:a ilman koko projektin pystyttämistä. Se on täydellinen muotoilustringien testaamiseen, päivämäärälaskelmien debuggaamiseen tai nopeaan prototypointiin ennen kuin logiikka integroidaan sovellukseesi.
Työkalun kuvaus
date-fns Playground on interaktiivinen koodausympäristö, jonka avulla voit kirjoittaa ja suorittaa JavaScript‑koodia täyden date-fns‑kirjaston kanssa esiladattuna. Koko date-fns‑kirjasto on käytettävissä dateFns‑objektin kautta, jolloin pääset käsiksi kaikkiin 200+ funktioon. Koodi suoritetaan automaattisesti kirjoittaessasi (debounce‑tekniikalla), ja kaikki console.log, console.warn ja console.error -tulosteet näkyvät sisäänrakennetussa terminaalissa editorin alapuolella. Tämä tekee siitä ihanteellisen date-fns:n oppimiseen, päivämääräoperaatioiden testaamiseen ja erilaisten muotoiluvaihtoehtojen kokeilemiseen.
Esimerkit
Muotoile nykyinen päivämäärä:
const now = new Date();
console.log(dateFns.format(now, "MMMM do, yyyy"));
// Output: December 30th, 2025Laske päivien määrä kahden päivämäärän välillä:
const start = new Date(2025, 0, 1);
const end = new Date(2025, 11, 31);
console.log(dateFns.differenceInDays(end, start) + " days");
// Output: 364 daysLisää aikaa päivämäärään:
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"));Tarkista onko päivämäärä menneisyydessä vai tulevaisuudessa:
const date = new Date(2024, 5, 15);
console.log("Is past?", dateFns.isPast(date));
console.log("Is future?", dateFns.isFuture(date));Jäsennä päivämäärämerkkijono:
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, 2025Ominaisuudet
- Täysi date-fns‑kirjasto: Pääset käsiksi kaikkiin 200+ date-fns‑funktioihin
dateFns‑objektin kautta - Live‑koodin suoritus: Koodi suoritetaan automaattisesti kirjoittaessasi älykkäällä debouncing‑tekniikalla
- Sisäänrakennettu terminaali: Näet konsolin tulosteen välittömästi ilman selaimen dev‑työkaluja
- Syntaksin korostus: JavaScript‑syntaksin korostus paremman luettavuuden vuoksi
- Virheenkäsittely: Suoritusaikaiset virheet näytetään selvästi terminaalin tulosteessa
Käyttötapaukset
- date-fns:n oppiminen: Kokeile eri funktioita ja näe tulokset heti ilman projektin asetusta
- Päivämäärämuodon testaus: Kokeile eri formatointimerkkijonoja löytääksesi tarkan haluamasi tulosmallin
- Päivämäärälaskennan prototypointi: Testaa monimutkaista päivämääräaritmetiikkaa kuten työpäivien lisääminen, aikavälien löytäminen tai päivämäärien vertailu
- Päivämäärälogiikan debuggaus: Eristä ja testaa päivämäärään liittyviä koodinpätkiä projekteistasi
- Nopeat päivämäärämuunnokset: Muunna päivämääräformaatteja tai laske aikavälejä lennossa
Yleiset date-fns‑funktiot
| Funktio | Kuvaus | Esimerkki |
|---|---|---|
format |
Muotoilee päivämäärän merkkijonoksi | dateFns.format(date, "yyyy-MM-dd") |
parse |
Jäsentää merkkijonon päivämääräksi | dateFns.parse("2025-01-01", "yyyy-MM-dd", new Date()) |
addDays |
Lisää päiviä päivämäärään | dateFns.addDays(date, 7) |
subMonths |
Vähentää kuukausia päivämäärästä | dateFns.subMonths(date, 3) |
differenceInDays |
Laskee päivien määrän päivämäärien välillä | dateFns.differenceInDays(dateA, dateB) |
isAfter |
Tarkistaa onko päivämäärä myöhempi kuin toinen | dateFns.isAfter(dateA, dateB) |
isBefore |
Tarkistaa onko päivämäärä aikaisempi kuin toinen | dateFns.isBefore(dateA, dateB) |
startOfMonth |
Palauttaa kuukauden ensimmäisen päivän | dateFns.startOfMonth(date) |
endOfYear |
Palauttaa vuoden viimeisen hetken | dateFns.endOfYear(date) |
formatDistance |
Ihmisluettava aikavälin ero | dateFns.formatDistance(dateA, dateB) |
Formaattimerkkien viite
| Merkki | Kuvaus | Esimerkki |
|---|---|---|
yyyy |
4‑numeroinen vuosi | 2025 |
MM |
2‑numeroinen kuukausi | 01‑12 |
MMMM |
Kuukauden koko nimi | January |
dd |
2‑numeroinen päivä | 01‑31 |
do |
Päivä järjestysluvulla | 1st, 2nd, 3rd |
EEEE |
Viikonpäivän koko nimi | Monday |
EEE |
Lyhyt viikonpäivä | Mon |
HH |
24‑tunnin tunti | 00‑23 |
hh |
12‑tunnin tunti | 01‑12 |
mm |
Minuutit | 00‑59 |
ss |
Sekunnit | 00‑59 |
a |
AM/PM | AM, PM |