Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
1. Previesť dátum na čas epochy:
Ak chcete previesť dátum a čas na čas epochy v sekundách môžete použiť príkaz `date` s voľbou ` +%s`.
Ak chcete napríklad previesť dátum a čas „1. januára 1970 00:00:00 UTC“ na čas epochy, použite nasledujúci príkaz:
```
$ dátum --utc -d '1970-01-01 00:00:00 UTC' +%s
```
Tento príkaz by vydal nasledujúci čas epochy:
```
0
```
2. Previesť čas epochy na dátum:
Ak chcete previesť čas epochy na dátum a čas, môžete použiť príkaz `date` s voľbou ` -d @`.
Ak chcete napríklad previesť čas epochy „0“ na dátum a čas, použite nasledujúci príkaz:
```
$ dátum -d @0
```
Tento príkaz vydá nasledujúci dátum a čas:
```
Št. január 00:00:00 UTC 1970
```
3. Pridať/odčítať sekundy k/od času epochy:
Ak chcete pridať alebo odčítať sekundy od epoch time môžete použiť príkaz `date` s voľbami ` -d @` a ` +%s`.
Napríklad na pridanie 60 sekúnd k času epochy „0“ by ste použili nasledujúci príkaz:
```
$ dátum -d @0 +%s
```
Tento príkaz by vydal nasledujúci čas epochy:
```
60
```
Na odčítanie 60 sekúnd od času epochy „60“ by ste použili nasledujúci príkaz:
```
$ dátum --date='@60 sekúnd' -u +%s
```
5. Prevod sekúnd na formát dátumu:
```
$ dátum -d @1585233869
```
Odčítanie 1 dňa (86400 sekúnd) od času epochy:
```
$ dátum -d "teraz - 1 deň" + %s
```
1. Preveďte dátum na čas epochy s ohľadom na časové pásmo:
Ak chcete napríklad previesť dátum a čas „1. januára 1970 12:00:00 PM EST“ na čas epochy v sekundách, použite nasledujúci príkaz:
```
$ date --date '1970-01-01 12:00:00 EST' +%s
```
Tu sa `dátum` používa s možnosťou `--date` na prevod reťazca reprezentujúceho dátum a čas na čas epochy. ` +%s` formátuje výstup ako počet sekúnd od 1. januára 1970, 00:00:00 UTC.
Tento príkaz by vydal nasledujúci čas epochy:
```
3600
```
2. Preveďte čas epochy na dátum s ohľadom na UTC:
Ak chcete napríklad previesť čas epochy „1585233869“ na dátum a čas vo formáte UTC, použite nasledujúci príkaz:
```
$ dátum -ud @1585233869
```
V tomto príklade sa voľba `-ud` používa so symbolom `@` na interpretáciu času epochy `1585233869` ako časovej pečiatky Unixu v UTC.
Tento príkaz vydá nasledujúci dátum a čas:
```
29. nedeľa 18:24:29 UTC 2020
```
3. Previesť čas epochy na miestne časové pásmo:
Ak chcete previesť čas epochy "1585233869" na dátum a čas v konkrétnom časovom pásme, použite `dátum -d @1585233869 -T "časové pásmo"` a nahraďte "časové pásmo" požadovaným časovým pásmom.
```
$ date -d @1585233869 -T "Amerika/New_York"
```
Toto by zobrazilo:
```
29. nedeľa 13:24:29 EDT 2020
```
4. Prevod dátumu na milisekundy epochy (milisekundy od epochy):
Ak chcete previesť dátum ako „1. júl 2020, 12:30“ na milisekundy, použite „dátum +%s%3N“, kde „+%s“ predstavuje sekundy od epochy a „%3N“ pripája 3 číslice pre milisekundy .
```
$ dátum -- dátum '1. júl 2020, 12:30' +%s%3N
```
Výsledkom sú milisekundy epoch:
```
1593630600992
```
5. Previesť epochu millis na ľudsky čitateľný dátum:
Ak chcete previesť epochu millis, napríklad 1593630600000, na dátumový reťazec, použite `date -d @epoch-millis +'%Y-%m-%d %H:%M:%S.%3N'`.
```
$ dátum -d @1593630600000 +'%Y-%m-%d %H:%M:%S.%3N'
```
výstup:
```
01.07.2020 12:30:00 000
```
6. Získajte aktuálny dátum a čas v strojovo čitateľnom formáte:
`date +%s%3N` zobrazuje epochu v milisekúndách, čo je užitočné pri porovnávaní dvoch dátumov.
```
$ dátum +%s%3N
```
výstup:
```
1593633240539
```
7. Pridajte alebo odčítajte dni od epochy:
`date -d @epoch-seconds + days` upraví čas epochy o zadaný počet dní. Napríklad:
```
$ dátum -d @ 1593630600 + 3 dni
```
výstup:
```
Štvrtok 4. júla 12:30:00 EDT 2020
```
8. Odčítajte dátumy a vypočítajte rozdiel:
Ak chcete vypočítať rozdiel medzi dvoma dátumami, nájdite ich sekundy epochy a odčítajte ich. Napríklad:
```
$ end_time=$(dátum +%s)
$ start_time=$(dátum -d "2019-07-01" +%s)
$ different_in_seconds=$(( end_time – start_time ))
```
9. Pridanie alebo odčítanie časových intervalov:
Ak chcete pridať alebo odčítať konkrétne intervaly, ako napríklad 5 hodín a 30 minút od času danej epochy, použite:
```
$ dátum -d @1593630600 +5 hodín -30 minút
```
výstup:
```
Pia, 2. júla, 12:00:00 EDT 2020
```
10. Počítajte dátum do budúcej udalosti:
Ak chcete určiť, ako dlho do konkrétneho dátumu v budúcnosti, skonvertujte oba relevantné dátumy na sekundy epochy a vypočítajte rozdiel. Napríklad:
```
$ end_time=$(dátum -d "2021-12-25 00:00" +%s)
$ start_time=$(dátum +%s)
$ seconds_until_Christmas=$(( end_time - start_time ))
```
11. Počítanie dátumov od minulej udalosti:
Podobne počítanie počtu dní od udalosti, ako sú narodeniny, by zahŕňalo odčítanie sekúnd epochy dátumu udalosti od aktuálneho dátumu:
```
$ narodeniny=$(dátum -d "1999-09-01" +%s)
$ current_time=$(dátum +%s)
$ days_since_birthday=$(((aktuálny_čas – narodeniny)/(60*60*24) ))
```
12. Vygenerujte náhodný čas epochy:
Ak chcete vytvoriť náhodnú časovú pečiatku v zadanom rozsahu dátumov, použite nasledujúci príkaz:
```
$ min_time=$(dátum -d "2019-07-01" +%s)
$ max_time=$(dátum -d "2020-07-31" +%s)
$ random_time=$(shuf -i $min_time-$max_time -n1)
$ dátum -d @$random_time
```
13. Prevod času čitateľného pre človeka na sekundy:
Ak chcete zjednodušiť výpočty času, preveďte časové rozpätia čitateľné človekom na sekundy pomocou kalkulačky „expr“:
```
$ seconds_5_hours=$ (výraz 5 \* 60 \* 60)
$ date +%s -d "teraz - $seconds_5_hours seconds"
```
Toto zobrazí aktuálny dátum/čas znížený o 5 hodín:
```
Pia, 9. júla 15:02:20 EDT 2021
```
Pamätajte, že pri výpočtoch súvisiacich s časom je výber vhodného časového pásma kľúčový na zabezpečenie presných výsledkov.