1.09.1基礎
システム全体の設定を変えず、dateの実行時だけAsia/Tokyoの現地時刻を表示する。
適切なコマンドはどれか。
× 不正解
TZ=ZONE COMMANDは、そのコマンドの環境だけへタイムゾーンを渡す。
詳細解説
正しい
TZ=Asia/Tokyo date前置き環境変数でdateプロセスだけへタイムゾーンを指定する。
dateの直前でTZを設定するため、dateだけがAsia/Tokyoのzone規則を使う。
誤り
date TZ=Asia/TokyoTZ=Asia/Tokyoをdateの日時引数として扱う。
コマンド名の後に置くと環境代入ではなく、dateが解析する日時引数になる。
誤り
LC_TIME=Asia/Tokyo dateLC_TIMEは日時の言語・書式を扱い、タイムゾーンを選ばない。
LC_TIMEは表記規則を変えても、UTC offsetをAsia/Tokyoへ選ぶ変数ではない。
誤り
LANG=Asia/Tokyo dateLANGはロケールの既定値で、タイムゾーン名を設定しない。
LANGへタイムゾーン識別子を入れても、有効なロケール選択にはならない。
実際に確かめる
一時的な検証環境で実行できる例です。
TZ=UTC date '+%Z'; TZ=Asia/Tokyo date '+%Z'期待される結果
UTCとJSTなど異なるzone略称理解のポイント
- TZはtimezone
- command前置きで一時指定
- LC_TIMEとは別
確認時の注意
- 確認環境: GNU date / 親環境を変更しない
基礎のおさらい
タイムゾーンとロケール
タイムゾーンは瞬間を現地時刻へ変換し、ロケールはその値の表記方法を制御する。
一時指定
前置き代入なら親シェルや/etc/localtimeを変更せず、比較やテストができる。
問題IDKL-102-1073
確認環境GNU date / 親環境を変更しない
最終技術確認2026-08-13
誤り・権利侵害を報告