GNU/Linux >> Linux の 問題 >  >> Linux

Linux bashでISO日付をエポックからの秒数に変換する

gdate をインストールすると簡単です ナノ秒の精度のタイムゾーンを持つ日付文字列を処理する

install coreutils gdate が得られます 沿って

Mac brew install coreutils

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

これは、時系列値を influxdb に挿入するときに特に便利です

シェルスクリプト variable = $(gdate --date="2010-10-02T09:35:58.203Z" +%s%N)

echo $variable

GNU 日付 (GNU coreutils パッケージから) を使用して、解析する日付を -d で指定します %s のエポックからの秒数

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

これにより、解析される日付がローカル タイム ゾーンであると解釈されることに注意してください。 . date が必要な場合 特定のタイム ゾーンを使用するには、変数 TZ (date のデフォルトのタイム ゾーンを変更) を介して指定する必要があります。 )、または日付文字列。 UTC の場合:

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

または文字列で、ISO 8601 に従って:

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

日付文字列で他のタイム ゾーンを指定する方法については、Wikipedia の ISO 8601 を参照してください。


Linux
  1. Linux でエポックからの秒数を取得する

  2. Bash/Debianでファイル作成日時を取得するには?

  3. Linux でのシステム起動日時の取得

  1. Linux システムの再起動日時を表示する方法

  2. Linux、Bash でエポック以降の現在の時間を秒単位で取得する

  3. Bash:2 つのタイムスタンプ間の経過時間を計算する

  1. bash で日付形式を変換する

  2. Linux、DSTセーフのbashで昨日の日付を取得

  3. Linux で C++ を使用してシステムの日付と時刻を設定する