エンジニアをしているとepoch秒をよく見るが、epoch秒だと頭でいつの時間か理解するのは難しい。ISO8601のフォーマットだとシュッと理解できる。つまり
- epoch秒の1547018800 <- すぐに日付などが分からない
- ISO8601の2019-01-09T16:26:40+0900 <- すぐに分かる!
epoch秒が出てきた時にシュッとISO8601のフォーマットに変換したいことがあったので調べていたのだけど、実はdateコマンドで一発だった。
Macの場合。
$ date -r 1547018800 +%Y-%m-%dT%H:%M:%S%z 2019-01-09T16:26:40+0900
Debianの場合。
$ date --date='@1547018800' +%Y-%m-%dT%H:%M:%S%z 2019-01-09T16:26:40+0900
あとはこのコマンドをepoch2dateとしてシェルスクリプトを置いておくと便利に使える。
/path/to/bin/epoch2date
#!/bin/bash date -r $1 +%Y-%m-%dT%H:%M:%S%z
$ epoch2date 1547018800 2019-01-09T16:26:40+0900