TZから入力を受け取り(+/-)HHMM形式に変換したいです。しかし、UTCと比較するのではなく、現地時間と比較したいと思います。どうすればいいですか?
答え1
これはbash
コマンドdate
とフォーマット指定子を使用する非常に簡単な練習です(広く使用されていますが、皮肉なことにdate
標準化されていません)。 strftime()
%z
TZ="アジア/東京" 日付+"%z"
これにより得ることができます現在のもちろん、UTCオフセットは夏時間の切り替えを考慮します。さまざまな実装を使用date
すると、システムクロックを設定せずに現在の時間ではなくランダムなタイムスタンプを表示できるため、年中異なる時間のUTCオフセットを取得できます。
例:FreeBSDdate
にはオプションがあり、-j
入力タイムスタンプを厳密な降順で取得します(使用しない場合はデフォルト)。-f
%TZ="ヨーロッパ/リスボン" 日付-j +"%z" "202401060000" +0000 %TZ="ヨーロッパ/リスボン" 日付-j +"%z" "202407060000" +0100 %
zdump
たとえば、いくつかのツールがありますが、date
ここではコマンドが最も明確です。
追加読書
date
。 2018年8月4日。 BSD共通コマンドマニュアル。無料BSD。- 別のタイムゾーンで「日付」出力時間を作成するには?
- TZ=UTC-8 が UTC+8 日付を生成するのはなぜですか。
- タイムゾーンの詳細を取得する必要があります。
- 「ユーティリティ:日付」。 シェルコマンド言語。単一のUNIX仕様。問題7. IEEE 1003.1。 2016. グループを開きます。