CH06-L01 · praktické použitie

Časové pečiatky a trvania

Prevediete text na časovú pečiatku a pripočítate k nej trvanie.

Všeobecný CELSpustiteľné tuZdokumentované
Čo sa naučím?

Viete rozlíšiť text, timestamp a duration a použiť ich v časovom výpočte.

Kde si to vyskúšam?

Priamo nižšie v skúšobnom prostredí prehliadača.

Čo mám urobiť?

Spustite oba režimy, porovnajte pôvod ich hodnôt a potom dokončite úlohu.

Vyskúšajte CEL · pilot v prehliadači

Vyskúšajte oba spôsoby zadania hodnôt

Lokálne hodnoty môžete definovať v jednom výraze CEL alebo môžete premenné zadať ako vstup JSON. Všetko sa vykonáva vo vašom prehliadači.

Pilotná podmnožina CEL
Jeden samostatný výraz CELFunkcia cel.bind() priradí hodnote lokálny názov a vráti výsledok posledného výrazu.

cel.bind()cel.bind() je voliteľné oficiálne rozšírenie. Nie je súčasťou jadra jazyka CEL a hostiteľská aplikácia ho nemusí podporovať.

Tip: výraz spustíte aj klávesmi Ctrl/⌘ + Enter.
Výsledok

Aktívny príklad vyhodnotíte tlačidlom Spustiť CEL.

Rozsah pilotu: literály, explicitné konverzie, lokálne premenné vytvorené pomocou cel.bind(), premenné z JSON, zoznamy, mapy, prítomnosť, kolekčné makrá, základné kontroly reťazcov, časové hodnoty, aritmetika, porovnávanie, logika a podmienený operátor.

Čo budete robiť

Pripravený výraz spustíte v cvičisku vyššie, budete meniť vždy jeden vstup a vysvetlíte výsledok. Začnite v režime Iba CEL a potom rovnaké pravidlo zopakujte v režime CEL + JSON.

Ako to funguje

Časová pečiatka je konkrétny okamih; trvanie je uplynuté množstvo času. Zdrojová hodnota začína ako reťazec RFC 3339, preto ju timestamp(start) explicitne spracuje. Pripočítanie duration("2h30m") vytvorí novú časovú pečiatku o dve hodiny a tridsať minút neskôr.

Prečítajte pripravený príklad

Pravidlo v režime CEL + JSON je:

timestamp(start) + duration('2h30m')

Jeho vstup je:

{
  "start": "2026-07-23T08:00:00Z"
}

Záložka Iba CEL obsahuje hodnoty aj pravidlo v jednom výraze. Povolené rozšírenie cel.bind() udrží každý názov lokálny v jeho poslednom argumente.

Vyhodnotenie krok za krokom

  1. Začiatočný reťazec sa zmení na časovú pečiatku 2026-07-23T08:00:00Z.
  2. Trvanie predstavuje 2 hodiny a 30 minút.
  3. Súčet vráti 2026-07-23T10:30:00Z.

Vaša úloha

  1. Spustite oba režimy.
  2. Zmeňte trvanie na 45m.
  3. Zadajte neplatný začiatok, napríklad 23 July, a prečítajte si chybu spracovania.

Očakávané pozorovanie: Trvanie 45 minút vráti 08:45:00Z; text mimo formátu RFC 3339 sa odmietne.

Častá chyba

K časovej pečiatke nepripočítavajte obyčajné číslo. Časová aritmetika používa duration, ktoré obsahuje časovú jednotku.

Zobraziť vysvetlenie

Novú hodnotu typu timestamp.

Kontrolná otázka

Aký typ vráti súčet časovej pečiatky a trvania?

Hlavná myšlienka

Externý časový text spracujte explicitne a časovú aritmetiku vykonávajte s typovaným trvaním.

Zdroje

  • CEL-DEV — oficiálny prehľad CEL.
  • CEL-LANG — oficiálna definícia jazyka CEL.
  • CEL-GO-BIND — oficiálna dokumentácia voliteľného rozšírenia cel.bind() použitého v samostatnej záložke.