Firefox prináša ako prvý Temporal API

16. 6. 2025

Sdílet

Firefox Autor: Depositphotos

najnovšej verzii prehliadača Firefox (od verzie 139) je dostupné nové Temporal API, ktoré predstavuje modernú náhradu za zastaraný objekt Date v JavaScripte. Temporal API prináša robustné a spoľahlivé riešenie pre prácu s dátumami, časom, časovými pásmami a kalendármi. Rieši mnohé dlhoročné problémy pôvodného riešenia.

Hlavné výhody Temporal API sú:

  • Presná manipulácia s dátumami a časom
  • Podpora časových pásiem a kalendárov
  • Imutabilita objektov
  • Prehľadná štruktúra API
  • Podpora pre rôzne formáty a operácie
  • Jednoduché porovnávanie a výpočty

Nové funkcie si môžete vyskúšať v najnovšej verzii Firefoxu. Tu je jednoduchý príklad, ktorý demonštruje základné použitie Temporal API:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <script>


        // 1. Getting the Current Date and Time
        const nowDateTime = Temporal.Now.plainDateTimeISO();
        console.log("Current local date and time:", nowDateTime.toString());

        // 2. Working with Plain Dates and Times
        const birthday = Temporal.PlainDate.from("1990-12-25");
        console.log("Birthday (PlainDate):", birthday.toString());

        const lunchTime = Temporal.PlainTime.from("12:30:00");
        console.log("Lunch time (PlainTime):", lunchTime.toString());

        // 3. Manipulating Date-Time Values
        const initialDateTime = Temporal.PlainDateTime.from("2024-11-01T10:23:45.678");
        console.log("Initial DateTime:", initialDateTime.toString());

        const added = initialDateTime.add({ days: 2, hours: 5 });
        console.log("After adding 2 days and 5 hours:", added.toString());

        const subtracted = added.subtract({ hours: 1, minutes: 30 });
        console.log("After subtracting 1 hour and 30 minutes:", subtracted.toString());

        const rounded = subtracted.round({ smallestUnit: "minute" });
        console.log("Rounded to nearest minute:", rounded.toString());

        // 4. Handling Time Zones
        const zonedNow = Temporal.Now.zonedDateTimeISO();
        console.log("Current time in local time zone:", zonedNow.toString());

        const laTime = Temporal.Now.zonedDateTimeISO("America/Los_Angeles");
        console.log("Current time in Los Angeles:", laTime.toString());

        // 5. Calculating Durations and Differences
        const today = Temporal.Now.plainDateISO();
        const futureDate = Temporal.PlainDate.from("2028-10-11");
        const duration = today.until(futureDate, { largestUnit: "day" });
        console.log(`Days until 2028-10-11: ${duration.days}`);

        // 6. Modifying Components with .with()
        const changedMonth = rounded.with({ month: 12 });
        console.log("Changed month to December:", changedMonth.toString());

    </script>

</head>

<body>

    <p>
        Testing Temporal API features in JavaScript.
        Check the console for output.
    </p>

</body>

</html>

Výsledok tohto kódu môžete vidieť v konzole prehliadača, ktorú otvoríte stlačením F12 alebo Ctrl+Shift+I.

Je pozoruhodné, že implementáciu Temporal API vyvinul jediný vývojár – dobrovoľník. 

Funkcie pre prácu s dátumami a časom v JavaScripte sa tak konečne stali modernými a použiteľnými. Implementácia však prichádza poriadne neskoro.

Tato zprávička byla zaslána čtenářem serveru Root.cz pomocí formuláře Přidat zprávičku. Děkujeme!

Našli jste v článku chybu?

Autor zprávičky