はじめに
『かがみの孤城』Blu-ray&DVDが発売されました!🎉 nikkieです。
これでおうちでもこころちゃん🤗
DebianのDockerイメージを使っていて知った、date
コマンドでタイムゾーンを変える方法(小ネタ)をアウトプットします。
目次
dateはUTCで表示される
% docker run --rm -it python:3.11-bookworm bash root@d7106d717fa9:/# date Wed Jun 28 12:00:27 UTC 2023
JSTに変えるには、TZ環境変数を指定
root@d7106d717fa9:/# TZ=':Asia/Tokyo' date Wed Jun 28 21:00:30 JST 2023
UTC+9時間のJSTになりました!
説明がdate
コマンドのマニュアルにあります。
例を見ると
米国西海岸のタイムゾーンで日時を表示する場合
$ TZ='America/Los_Angeles' date
TZの指定の豆知識(先頭はコロン始まり)
TZの値の形式は2つあると説明されます1。
2 番目の形式は、タイムゾーンの情報をファイルから読み込むように指定する。
:[filespec]
ニュージーランドの例
TZ=":Pacific/Auckland"
コロンは省略できます(省略するのがよく見る指定の仕方だと思います)
コロンが省略された場合には、 上記の TZ の各形式での解釈を試みる。
先のTZ=':Asia/Tokyo'
という指定は、コロンの省略もできるわけです!
root@d7106d717fa9:/# TZ='Asia/Tokyo' date Wed Jun 28 21:00:32 JST 2023
PythonのdatetimeにもTZ環境変数は適用される
root@d7106d717fa9:/# python -V Python 3.11.4 root@d7106d717fa9:/# python -q >>> from datetime import datetime >>> datetime.now() datetime.datetime(2023, 6, 28, 12, 0, 59, 377486) root@d7106d717fa9:/# TZ=':Asia/Tokyo' python -q >>> from datetime import datetime >>> datetime.now() # UTC+9時間! datetime.datetime(2023, 6, 28, 21, 1, 12, 266876)
終わりに
Debianのdate
コマンドとTZ
環境変数についてアウトプットしました。
小さいですが新たな発見が、date
コマンドやTZ
環境変数にありました!
-
このエントリでは掘り下げませんが、
std offset dst[offset][,start[/time],end[/time]]
という形式もあるそうです↩