AWSからくるメンテナンスのお知らせがUTCだったり、ときどきログやグラフのタイムゾーンがUTCになっていたりする。 そんなときにJSTへシュッと変換したくなる。 dateコマンドは現在設定されているタイムゾーンで表示できるのと、-d オプションを指定することで任意の日付を設定できる。 この2つを使ってタイムゾーンの変換ができる。
UTCからJST
❯ date -d "8:00 UTC" 2022年 2月 7日 月曜日 17:00:00 JST ❯ date -d "2022/02/04 8:00 UTC" 2022年 2月 4日 金曜日 17:00:00 JST
-d オプションで指定する日付にUTCをつけるだけ。 また、RFC1123形式もパースできる。
❯ date -d "Wed, 21 Oct 2015 07:28:00 GMT" 2015年 10月 21日 水曜日 16:28:00 JST
JSTからUTC
❯ TZ=UTC date 2022年 2月 7日 月曜日 02:00:00 UTC ❯ TZ=UTC date -d '12:00 JST' 2022年 2月 7日 月曜日 03:00:00 UTC
$TZに変換先のタイムゾーンを設定すると出力がそのタイムゾーンになる。 -d を設定しない場合、JSTの現在時刻をUTCに変換する。 任意の日付をUTCに変換する場合は、TZを設定した上で -d オプションに "JST" をつける。