Veškerá moc příkazové řádky/příkazového řádku přehledně, pro začátečníky i pokročilé
5. Datum, čas a kalendář
Vývoj vanilkové příchuti Linuxu: Knihy kouzel byl 1. března 2025
ukončen. Tento text je zachován jako historický, ale chyby již nejsou
opravovány. Odnože projektu pod kompatibilní licencí jsou vítány.
Obsahem této kapitoly je veškerá práce s hodnotami času a data a kalendářem jako takovým,
to znamená výpočty, formátování, práci s časovými zónami a vizualizace. Kapitola rovněž
pokrývá nastavování systémového a hardwarového času.
Časová známka Unixu je číselná reprezentace okamžiku v čase daná počtem sekund od 00:00:00 UTC 1. ledna 1970. Čas před tímto milníkem se reprezentuje zápornými čísly, pozdější čas kladnými. Obvykle se uvažují celá čísla, ale některé implementace pracují i s desetinnými. Časová známka Unixu se uvádí téměř výhradně v desítkové soustavě.
Systémový čas je čas zpřístupněný systémem programům. Při startu systému se nastaví podle hardwarového času a zaniká vypnutím operačního systému. Systémový čas je obvykle v lokální časové zóně. Protikladem je hardwarový čas, což je čas poskytovaný zařízením na základní desce počítače. Hardwarový čas je obvykle v UTC.
UTC je základní celosvětový čas, od kterého se odvozují hodnoty času v jednotlivých časových zónách.
Číselné hodnoty (kromě %s) se automaticky zarovnávají nulami (např. leden je měsíc 01),
potlačit to můžete vložením „-“ za %, např. „%-m“ vrátí pro leden „1“;
pro zarovnání mezerami místo nulami tam vložte „_“, např. „%_m“ vrátí pro leden „1“.
Příkaz „date“ podporuje i mnoho dalších vstupních formátů; úplná dokumentace v angličtině je dostupná příkazem „info date“, ale v praxi doporučuji omezit se pouze na zde uvedené.
[TZ="cílová časová zóna"] date [parametry][+formát]
○ -d 'datum a čas' ○ -d '"původní čas. zóna" datum a čas' ○ -f soubor ○ -f -
Použije zadaný čas (parametr -d), popř. načte čas z řádků daného souboru či ze standardního vstupu (parametr -f). Výchozí chování: použije aktuální čas.
○ -u
Cílová časová zóna bude UTC. Výchozí chování: časovou zónu určuje proměnná prostředí TZ, popř. je to lokální čas.
8 Počet sekund může být i necelé číslo, např. 0.12 počká 120 milisekund. Pro hodnoty pod 100 milisekund ale neočekávejte velkou přesnost.
9 Čas východu slunce bude na první řádce výstupu, čas západu slunce na druhé. Pozice-NS je zeměpisná šířka a musí začínat písmenem N (severní) nebo S (jižní) a pokračovat číslem ve stupních a následně buď tečkou a desetinnou částí (např. N50.08105), nebo minutami a sekundami oddělenými dvojtečkami (např. N50:4:52). Pozice-WE je zeměpisná šířka ve stejném formátu, ale písmeno je W (západní) nebo E (východní). Datum se zadává ve standardním formátu YYYY-MM-DD. Přesnost výpočtu jsem podrobně nezkoumal/a, ale neočekávajte vyšší přesnost než tak plus minus dvě minuty.
10 Změna časové zóny má okamžitou platnost a vydrží i po restartu.
11 Zadejte čas a datum ve formátu „YYYY-MM-DD HH:MM:SS“. Poznámka: Jsou-li ve VirtualBoxu nainstalované přídavky pro hosta, tyto přídavky velmi často systémový čas vnitřního systému (hosta) synchronizují se systémovým časem vnějšího systému (hostitele), proto v takovém případě změna systémového času vnitřního systému vydrží jen velmi krátce a je sotva pozorovatelná.
12 Datum a čas by měly být ve formátu „YYYY-MM-DD HH:MM:SS“, dovoleny jsou i jiné formáty. Pozor, je vyžadován lokální čas v časové zóně systému, a to i v případě, že ve skutečnosti je hardwarový čas uložen v UTC!