GNU/Linux >> Znalost Linux >  >> Linux

Převeďte datum ISO na sekundy od epochy v linux bash

Je to jednodušší, když si nainstalujete gdate pro práci s datovými řetězci, které mají časová pásma s přesností nano sekund

install coreutils a dostanete gdate spolu

na mac brew install coreutils

gdate --date="2010-10-02T09:35:58.203Z" +%s%N

To je užitečné zejména při vkládání hodnoty časové řady do influxdb

ve skriptu shellu variable = $(gdate --date="2010-10-02T09:35:58.203Z" +%s%N)

echo $variable

S datem GNU (z balíčku GNU coreutils) zadejte datum, které se má analyzovat, pomocí -d a sekund od epochy s %s

$ date -d"2014-02-14T12:30" +%s
1392381000

Upozorňujeme, že toto bude interpretovat datum, které má být analyzováno, jako ve vašem místním časovém pásmu . Pokud chcete date chcete-li použít konkrétní časové pásmo, musíte to zadat buď pomocí proměnné TZ (která změní výchozí časové pásmo pro date ), nebo v řetězci data. Pro UTC:

$ TZ=UTC date -d"2014-02-14T12:30" +%s
1392381000

nebo v řetězci podle ISO 8601:

$ date -d"2014-02-14T12:30Z" +%s
1392381000

Viz ISO 8601 na Wikipedii, jak určit jiná časová pásma v datovém řetězci.


Linux
  1. Linux – Jak zjistit datum vytvoření souboru?

  2. Získejte aktuální čas v sekundách od epochy na Linuxu, Bash

  3. Převést formáty data v bash

  1. Jak získat datum/čas vytvoření souboru v Bash/Debian?

  2. Získejte včerejší datum v bash na Linuxu, DST-safe

  3. Získání data a času spuštění systému v Linuxu

  1. Jak zobrazit datum a čas restartu systému Linux

  2. Získejte sekundy od epochy v Linuxu

  3. Bash:vypočítá čas, který uplynul mezi dvěma časovými značkami