ぶていのログでぶログ

思い出したが吉日

UTCからJST/JSTからUTCの変換をワンライナーで行う

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" をつける。