A JavaScript fejlesztők évtizedek óta küzdenek a nyelv beépített Date objektumának problémáival. A 2025-ös évben azonban végre megérkezik a Temporal API, egy modern, intuitív és robusztus megközelítés a dátumok és időzónák kezelésére.
Mi a probléma a Date objektummal?
A JavaScript Date objektum 1995 óta hibás, és közel három évtizede élünk annak furcsaságaival. A Date API a Java hibásan tervezett java.util.Date osztályán alapul, amelyet Java már a 2010-es évek elején lecserélt, de JavaScript-ben a visszafelé kompatibilitás miatt továbbra is jelen van.
A legfőbb problémák között található:
- Mutábilis objektumok: A Date objektumok módosíthatók, ami váratlan hibákhoz vezethet
- Időzóna káosz: Csak a helyi időzónát és UTC-t támogatja
- Megbízhatatlan parsing: A dátum karakterláncok elemzése inkonzisztens eredményeket ad
- Nulla-alapú hónapok: Január a 0. hónap, ami folyamatos zavart okoz
A Temporal API megoldása
A Temporal API egy modern dátum/idő API JavaScript-hez, amelyet a TC39 tervezett a Date régóta fennálló problémáinak megoldására. Precíz típusokat, világos időzóna szemantikát és biztonságos számításokat biztosít.
Kulcs újítások
A Temporal explicit típusokat kínál: Temporal.Instant, ZonedDateTime, PlainDate, PlainTime, PlainDateTime, Duration, TimeZone, Calendar. Első osztályú időzóna támogatással rendelkezik - használhatjuk az America/New_York jelölést az implicit rendszerbeállítások helyett. Kiszámítható matematikát biztosít, és nincs implicit parsing csapda.
Gyakorlati példák
A Temporal API használata egyszerűbb és biztonságosabb:
Jelenlegi időpont lekérdezése:const now = Temporal.Now.instant();
console.log(now.toString()); // 2025-01-06T14:30:00Z
Időzóna kezelés:const instant = Temporal.Instant.from('2025-06-01T14:30:00Z');
const budapest = instant.toZonedDateTimeISO('Europe/Budapest');
Böngésző támogatás és használat 2025-ben
A Temporal API a TC39 folyamat 3. szakaszában van. Chrome, Firefox és Safari mind aktívan implementálja. 2025 közepére univerzálisan elérhető lesz. A Firefox már szállítja a Firefox 139-ben (2025. május 27.), míg a Chrome 144-ben tervezi (2026. január 13.).
A Temporal a TC39 folyamatban halad előre, és már most kiváló polyfill támogatással rendelkezik. A produkciós alkalmazások általában a hivatalos polyfill-t használják, amíg a natív motor támogatás ki nem épül.
Kezdés a Temporal API-val
A fejlesztők már most kipróbálhatják a Temporal API-t polyfill segítségével:
npm install @js-temporal/polyfill
import { Temporal } from '@js-temporal/polyfill';
A Temporal API megoldja a Date objektum frusztráló furcsaságait. Bár a natív böngésző támogatás még kiépülőben van, már ma használható a hivatalos polyfill-lel.
A JavaScript dátumkezelés új korszaka valóban elkezdődött 2025-ben. A Temporal API a JavaScript dátumkezelés történetének legjelentősebb fejlesztése. 2025 végére univerzálisan elérhető lesz minden modern környezetben.
Forrás: Medium, DEV Community, Mozilla MDN - https://medium.com/@asierr/javascripts-temporal-api-in-2025-finally-dates-and-times-done-right-7b63a0ac6669
A cikk AI segítségével készült, hiteles nemzetközi forrásokból származó információk alapján.