Příkaz Date je užitečný pro zobrazení data v několika formátech. Umožňuje také nastavit systémové datum a čas.
Tento článek vysvětluje několik příkladů, jak používat příkaz datum, s praktickými příklady.
Když spustíte příkaz datum bez jakékoli možnosti, zobrazí se aktuální datum a čas, jak je uvedeno níže.
$ date Mon May 20 22:02:24 PDT 2013
1. Zobrazte datum z řetězcové hodnoty pomocí volby –date
Pokud máte v řetězci statickou hodnotu data nebo času, můžete použít volbu -d nebo –date k převedení vstupního řetězce do formátu data, jak je uvedeno níže.
Upozorňujeme, že toto nepoužívá aktuální hodnotu data a času. Místo toho používá hodnotu data a času, kterou předáte jako řetězec.
Následující příklady přebírají pouze řetězec vstupního data a zobrazují výstup ve formátu data. Pokud nezadáte čas, použije se pro čas 00:00:00.
$ date --date="12/2/2014" Tue Dec 2 00:00:00 PST 2014 $ date --date="2 Feb 2014" Sun Feb 2 00:00:00 PST 2014 $ date --date="Feb 2 2014" Sun Feb 2 00:00:00 PST 2014
Následující příklad používá vstupní řetězec data a času a zobrazuje výstup ve formátu data.
$ date --date="Feb 2 2014 13:12:10" Sun Feb 2 13:12:10 PST 2014
2. Čtení vzorů data ze souboru pomocí volby –file
Je to podobné jako volba -d nebo -date, kterou jsme probrali výše. Ale můžete to udělat pro více datových řetězců. Pokud máte soubor, který obsahuje různé statické datové řetězce, můžete použít volbu -f nebo –file, jak je uvedeno níže.
V tomto příkladu můžeme vidět, že datefile obsahoval 2 datové řetězce. Každý řádek datefile je analyzován příkazem date a pro každý řádek je vypsáno datum.
$ cat datefile Sept 9 1986 Aug 23 1987 $ date --file=datefile Tue Sep 9 00:00:00 PDT 1986 Sun Aug 23 00:00:00 PDT 1987
3. Získat relativní datum pomocí volby –date
Můžete také použít příkaz datum k získání budoucího data pomocí relativních hodnot.
Například následující příklady získají datum příštího pondělí.
$ date --date="next mon" Mon May 27 00:00:00 PDT 2013
Pokud je příkazu date dán string=@, příkaz date převede sekundy od epochy (1970-01-01 UTC) na datum.
Zobrazuje datum, během kterého uplynulo 5 sekund od epochy 1970-01-01 UTC:
$ date --date=@5 Wed Dec 31 16:00:05 PST 1969
Zobrazuje datum, kdy uplynulo 10 sekund od epochy 1970-01-01 UTC:
$ date --date=@10 Wed Dec 31 16:00:10 PST 1969
Zobrazuje datum, kdy uplynula 1 minuta (tj. 60 sekund) od epochy 1970-01-01 UTC:
$ date --date=@60 Wed Dec 31 16:01:00 PST 1969
4. Zobrazit minulé datum
Minulé datum můžete zobrazit pomocí příkazu -date. Níže je uvedeno několik možností.
$ date --date='3 seconds ago' Mon May 20 21:59:20 PDT 2013 $ date --date="1 day ago" Sun May 19 21:59:36 PDT 2013 $ date --date="yesterday" Sun May 19 22:00:26 PDT 2013 $ date --date="1 month ago" Sat Apr 20 21:59:58 PDT 2013 $ date --date="1 year ago" Sun May 20 22:00:09 PDT 2012
5. Nastavte datum a čas pomocí možnosti –set
Datum a čas vašeho systému můžete nastavit pomocí volby -s nebo –set, jak je uvedeno níže..
V tomto příkladu zpočátku zobrazoval čas 20:09:31. Potom jsme pomocí příkazu datum změnili na 21:00:00.
$ date Sun May 20 20:09:31 PDT 2013 $ date -s "Sun May 20 21:00:00 PDT 2013" Sun May 20 21:00:00 PDT 2013 $ date Sun May 20 21:00:05 PDT 2013
5. Zobrazte světový čas pomocí volby -u
Datum můžete zobrazit ve formátu UTC pomocí volby -u, -utc nebo -universal, jak je uvedeno níže.
$ date Mon May 20 22:07:53 PDT 2013 $ date -u Tue May 21 05:07:55 UTC 2013
6. Zobrazit čas poslední úpravy pomocí volby -r
V tomto příkladu je aktuální čas 20:25:48
$ date Sun May 20 20:25:48 PDT 2013
Časové razítko datefile se změní pomocí dotykového příkazu. To bylo provedeno několik sekund po výstupu výše uvedeného příkazu date.
$ touch datefile
Aktuální čas po výše uvedeném dotykovém příkazu je 20:26:12
$ date Sun May 20 20:26:12 PDT 2013
Nakonec použijte příkaz date -r k zobrazení posledního upraveného časového razítka souboru, jak je znázorněno níže. V tomto příkladu zobrazuje čas poslední změny datefile jako 20:25:57. Je někde mezi 20:25:48 a 20:26:12 (což je okamžik, kdy provedeme výše uvedený dotykový příkaz pro úpravu časového razítka).
$ date -r datefile Sun May 20 20:25:57 PDT 2013
7. Různé formáty příkazů data
Můžete použít volbu formátování k zobrazení příkazu data v různých formátech pomocí následující syntaxe:
$ date +%<format-option>
Následující tabulka zobrazuje různé možnosti formátování příkazu data.
Možnosti formátu | Účel možnosti | Výstup | datum +%a | Zobrazuje zkrácený název dne v týdnu (jako Po, Út, St) | Čt | datum +%A | Zobrazuje název dne v týdnu zkráceně (např. pondělí, úterý) | Čtvrtek | datum +%b | Zobrazuje zkrácený název měsíce (jako Jan, Feb, Mar ) | Únor | datum +%B | Zobrazuje název měsíce v úplné zkratce (jako leden, únor) | Únor | datum +%d | Zobrazuje den v měsíci (např. 01) | 07 | datum +%D | Zobrazuje aktuální datum; zobrazeno v MM/DD/RR | 02/07/13 | datum +%F | Zobrazuje datum; zobrazeno v YYYY-MM-DD | 2013-02-07 | datum +%H | Zobrazuje hodiny ve formátu (00..23) | 23 | datum +%I | Zobrazuje formát hodin (01..12) | 11 | datum +%j | Zobrazuje den v roce (001..366) | 038 | datum +%m | Zobrazuje měsíc (01..12) | 02 | datum +%M | Zobrazuje minuty (00..59) | 44 | datum +%S | Zobrazuje sekundu (00..60) | 17 | datum +%N | Zobrazuje nanosekundy (000000000..999999999) | 573587606 | datum +%T | Zobrazuje čas; zobrazeno jako HH:MM:SS Poznámka:Hodiny ve formátu 24 | 23:44:17 | datum +%u | Zobrazuje den v týdnu (1..7); 1 je pondělí | 4 | datum +%U | Zobrazuje číslo týdne v roce, přičemž prvním dnem v týdnu je neděle (00..53) | 05 | datum +%Y | Zobrazuje celý rok, tj. YYYY | 2013 | datum +%Z | abecední zkratka časového pásma (např. EDT) | IS |
---|