Čas

4 tools

Časové nástroje ToolDecku umožňují převádět Unix timestamps, parsovat cron výrazy, vizuálně generovat cron plány a ověřovat syntaxi cron přímo v prohlížeči. Timestamp Converter překládá mezi Unix epoch hodnotami a datem čitelným pro člověka ve všech hlavních formátech. Cron Expression Parser rozebírá cron řetězce na popis v přirozeném jazyce s náhledem nadcházejících spuštění. Cron Expression Generator sestavuje cron výrazy prostřednictvím krokového vizuálního rozhraní bez ruční editace. Cron Expression Validator kontroluje syntaxi cron a zobrazuje rozpad každé komponenty pole po poli. Veškeré zpracování probíhá lokálně v prohlížeči bez komunikace se serverem, bez nutnosti účtu a bez sběru dat.

Sáhněte po Timestamp Converter při převodu epoch hodnot z logů nebo API, po Cron Expression Parser pro dekódování existujícího plánu do přirozeného jazyka, po Cron Expression Generator pro vizuální sestavení nového výrazu, nebo po Cron Expression Validator pro ověření syntaxe před nasazením do produkce.

Co jsou časové nástroje?

Časové nástroje řeší praktické problémy, s nimiž se vývojáři setkávají při práci s daty, timestamps a plánovaným spouštěním. Unix timestamps se vyskytují ve sloupcích databází, odpovědích API, souborech logů a JWT claims. Čtení surové hodnoty jako 1717200000 při incidentu vyžaduje převod na datum čitelné pro člověka. Cron výrazy se vyskytují v konfiguracích CI/CD, manifestech Kubernetes a serverových crontabech. Napsat 0 9 * * 1-5 a mít jistotu, že se spustí v 9:00 ve všední dny (a ne o víkendech), vyžaduje parser nebo validátor.

Pod časové nástroje spadají dvě odlišné oblasti. Převod timestamps se zabývá překladem mezi Unix epoch hodnotami (sekundy nebo milisekundy od 1970-01-01 00:00:00 UTC) a formátovanými datovými řetězci. Hlavní zúčastněné standardy jsou ISO 8601 (mezinárodní formát data a času, definovaný Mezinárodní organizací pro normalizaci), RFC 3339 (internetový profil ISO 8601, publikovaný IETF) a RFC 2822 (formát data používaný v hlavičkách e-mailů a HTTP). Nástroje pro cron výrazy pokrývají parsování, generování a ověřování syntaxe pětipolového plánování, původně definované v POSIX (IEEE Std 1003.1). Tuto syntaxi dnes používají crontab, systemd timers, GitHub Actions, Kubernetes CronJobs a cloudové plánovače jako AWS EventBridge a Google Cloud Scheduler.

Vývojáři sahají po těchto nástrojích při ladění (převod timestamps z logů nebo databázových řádků), při nasazování (psaní a ověřování cron plánů před spuštěním do provozu) a při code review (potvrzení, že cron výraz kolegy odpovídá zamýšlenému plánu). QA inženýři používají převod timestamps k ověření, že odpovědi API obsahují správné hodnoty dat. DevOps inženýři používají cron nástroje k nastavení plánů zálohy, rotace logů a obnovy certifikátů.

Proč používat časové nástroje na ToolDecku?

Časové nástroje ToolDecku běží výhradně v prohlížeči. Timestamps a cron výrazy jsou zpracovávány lokálně prostřednictvím JavaScriptu, takže nic neopouští váš počítač. Každý nástroj cílí na jeden úkol a načítá se okamžitě bez registračních procesů nebo omezení počtu požadavků.

🔒
Zpracování pouze v prohlížeči
Všechny převody a ověřování se provádějí v JavaScriptu na vašem zařízení. Žádná volání API, žádné serverové logy, žádné uchovávání dat. Timestamps z produkčních databází a interní cron plány zůstávají na vašem počítači.
Okamžité výsledky
Vložte Unix timestamp nebo cron výraz a výsledek uvidíte ihned. Žádná latence přenosu, žádná fronta, žádné načítací animace.
📐
Výstup v souladu se standardy
Převody timestamps produkují výstup v ISO 8601 (RFC 3339) a RFC 2822. Parsování cron podporuje POSIX pětipólový formát a běžná rozšíření jako pole sekund, znaky L (poslední), W (nejbližší pracovní den) a # (n-tý pracovní den).
🔓
Bez nutnosti účtu
Otevřete stránku a začněte pracovat. Žádná registrace, žádný API klíč, žádná omezení využití. Uložte nástroj do záložek a používejte ho kdykoli ho potřebujete.

Případy použití časových nástrojů

Problémy s timestamps i cron výrazy se neustále vyskytují v práci na backendu, DevOps i QA.

Analýza logů
Převeďte epoch timestamps v aplikačních logách na čitelná data pro korelaci událostí při vyšetřování incidentu. Rychle zjistěte, zda je desetimístná nebo třináctimístná hodnota v sekundách nebo milisekundách.
Plánování CI/CD
Generujte a ověřujte cron výrazy pro GitHub Actions workflows, Jenkins pipelines nebo GitLab CI plány před odevzdáním. Zobrazte si příštích pět časů spuštění pro potvrzení plánu.
Nastavení Kubernetes CronJob
Parsujte cron výraz pro náhled příštích časů spuštění a potvrďte, že odpovídá zamýšlenému Kubernetes CronJob plánu.
Ladění databáze
Převádějte Unix timestamps uložené ve sloupcích databáze na data čitelná pro člověka při zkoumání datových problémů.
Monitorování a upozornění
Pište cron výrazy pro pravidla upozornění Prometheus, plány sestav Grafana nebo okna údržby PagerDuty. Ověřte syntaxi před jejich přidáním do konfigurací Terraform nebo Helm.
Inspekce odpovědí API
Dekódujte epoch timestamps vrácené REST API pro ověření, že pole created_at, updated_at a expires_at obsahují očekávané hodnoty.

Přehled časových formátů a syntaxe cron

Dvě oblasti, které je třeba znát: formáty timestamps používané v API, databázích a logách; a syntaxe cron výrazů používaná Unix cron, Kubernetes, GitHub Actions a cloudovými plánovači.

Běžné formáty timestamps

FormátPříkladStandard / Poznámka
1717200000Unix sekundyPOSIX / IEEE Std 1003.1
1717200000000Unix milisekundyJavaScript Date.now(), Java
2024-06-01T00:00:00.000ZUTC s milisekundamiISO 8601 / RFC 3339
2024-06-01T00:00:00+02:00S UTC offsetemISO 8601 / RFC 3339
Sat, 01 Jun 2024 00:00:00 +0000E-mail / HTTP hlavičkyRFC 2822
2024-06-01Pouze datumISO 8601 (calendar date)

Pole cron výrazu

PolePovolené hodnotySpeciální znaky
Minuta0–59* , - /
Hodina0–23* , - /
Den v měsíci1–31* , - / ? L W
Měsíc1–12 or JAN–DEC* , - /
Den v týdnu0–6 or SUN–SAT* , - / ? L #

Standardní pětipólový cron (minuta až den-v-týdnu) je definován POSIX (IEEE Std 1003.1) a používán crontab, systemd, Kubernetes CronJobs, GitHub Actions a většinou CI/CD platforem. Některé systémy jako Quartz a Spring přidávají šesté pole pro sekundy. AWS EventBridge používá šestipólovou variantu s polem pro rok. Znaky L (poslední), W (nejbližší pracovní den) a # (n-tý výskyt) jsou rozšíření podporovaná systémy kompatibilními s Quartz, nikoli však POSIX cron.

Jak vybrat správný časový nástroj

Každý časový nástroj zvládá jiný úkol; čtyři nástroje lze také kombinovat v jednom pracovním postupu. Použijte Timestamp Converter vždy, když narazíte na surovou epoch hodnotu v logách, odpovědích API nebo databázových sloupcích. Použijte cron nástroje společně — Generator pro sestavení výrazu, Parser pro náhled nadcházejících časů spuštění a Validator pro potvrzení syntaxe — před odevzdáním plánu do manifestu nebo konfiguračního souboru.

  1. 1
    Pokud potřebujete převést Unix timestamp na čitelné datum nebo naopakTimestamp Converter
  2. 2
    Pokud potřebujete porozumět tomu, co dělá existující cron výraz, a zjistit, kdy se příště spustíCron Expression Parser
  3. 3
    Pokud potřebujete sestavit nový cron výraz od základu pomocí vizuálního rozhraníCron Expression Generator
  4. 4
    Pokud potřebujete zkontrolovat, zda je cron výraz syntakticky platný, a prozkoumat každé poleCron Expression Validator

Pro kompletní cron pracovní postup: sestavte výraz v Generatoru, zobrazte náhled příštích časů spuštění v Parseru a ověřte syntaxi ve Validatoru před odevzdáním do manifestu nebo crontabu. Pokud ladíte timestamps z API nebo databáze, Timestamp Converter zpracovává Unix timestamps v sekundách i milisekundách a produkuje výstup ve formátech ISO 8601, RFC 2822 a lokálně formátovaných datech. Timestamp Converter je také užitečný pro inspekci JWT: claims exp (expirace) a iat (vydáno v) v JSON Web Tokenu jsou Unix timestamps v sekundách, a vložení libovolné z těchto hodnot do konvertoru odhalí přesný čas vydání nebo okno expirace bez psaní jakéhokoli kódu.

Nejčastěji kladené otázky

Co je Unix timestamp?
Unix timestamp je počet sekund (nebo milisekund, v závislosti na systému) uplynulých od 1970-01-01 00:00:00 UTC, známého jako Unix epoch. Je nezávislý na časovém pásmu: stejný timestamp odkazuje na stejný absolutní okamžik kdekoli na světě. JavaScript používá timestamps v milisekundách (Date.now()), zatímco většina Unix utilit a databází používá sekundy.
Co je cron výraz?
Cron výraz je řetězec pěti polí oddělených mezerami, který definuje opakující se plán: minuta, hodina, den-v-měsíci, měsíc a den-v-týdnu. Formát byl zaveden v Unix Version 7 (1979) a dnes ho používají crontab, systemd timers, Kubernetes CronJobs, GitHub Actions, AWS EventBridge a mnoho dalších plánovačů. Každé pole přijímá jednotlivé hodnoty (5), rozsahy (1-5), seznamy (1,3,5), kroky (*/15) a zástupné znaky (*). Například 30 9 * * 1-5 znamená 9:30 UTC ve všední dny.
Jak převádět mezi timestamps v sekundách a milisekundách?
Timestamp v sekundách vynásobte 1000 pro získání milisekund. Timestamp v milisekundách vydělte 1000 (a zaokrouhlete dolů) pro získání sekund. Timestamp v sekundách má typicky 10 číslic — například 1717200000 — zatímco timestamp v milisekundách má 13 číslic, například 1717200000000. Záměna těchto dvou je jednou z nejčastějších chyb při práci s timestamps.
Co znamená */5 v cron výrazu?
Syntaxe */5 znamená „každou 5. hodnotu” v daném poli. V poli minut spouští */5 úlohu v minutách 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50 a 55. Operátor kroku (/) funguje také s rozsahy: 1-30/5 znamená každou 5. minutu od 1 do 30.
Proč ukládat timestamps v UTC?
Ukládání v UTC eliminuje nejednoznačnost způsobenou přechody na letní čas, nesouladem časových pásem serverů a agregací dat napříč regiony. Převod na místní čas provádějte pouze ve vrstvě zobrazení (UI nebo krok vykreslování sestav). Pokud jsou timestamps uloženy v místním čase, přechody na letní čas vytvářejí mezery a překryvy: 2:30 v noci nemusí existovat (přechod na letní čas) nebo může nastat dvakrát (přechod na zimní čas). UTC takové přechody nemá. Tento přístup je standardní praxí v distribuovaných systémech a doporučuje ho poznámka W3C Date and Time Formats.
Co je ISO 8601?
ISO 8601 je mezinárodní standard pro formáty řetězců data a času. Nejběžnější forma je YYYY-MM-DDTHH:MM:SS.sssZ, kde přípona Z označuje UTC. Řetězce ISO 8601 se třídí lexikograficky v chronologickém pořadí, což je činí praktickými pro soubory logů, databázové indexy a odpovědi API.
Mohou cron výrazy běžet každou sekundu?
Standardní pětipólový cron nepodporuje plánování kratší než minuta. Nejmenší interval je jednou za minutu (použitím * v poli minut). Některé systémy jako Spring's @Scheduled a Quartz přidávají šesté pole sekund, které umožňuje spouštění každou sekundu. Kubernetes CronJobs a crontab sekundy nepodporují.
Co je problém roku 2038?
Systémy, které ukládají Unix timestamps jako 32bitová znaménková celá čísla, přetečou dne 2038-01-19 ve 03:14:07 UTC. Maximální hodnota 32bitového znaménkového celého čísla je 2 147 483 647, což odpovídá přesně tomuto okamžiku. Po přetečení se čítač přetočí na velké záporné číslo představující datum v prosinci 1901. Moderní 64bitové systémy a jazyky — JavaScript, Python 3, Go, Rust — tímto problémem nejsou postiženy. Starší vestavěná zařízení, timestamps souborového systému ext3, starší sloupce MySQL TIMESTAMP a některé binární protokoly zůstávají ohroženy.