タイムゾーンをUTC-8に設定する方法

タイムゾーンをUTC-8に設定する方法

タイムゾーンをUTC -8に設定する必要がありますが、PSTまたはGMT-8に設定するオプションのみが表示されます。 UTC-8で表示する方法はありますか?

RHEL6を実行しています。

$日付2019年2月23日土曜日01:41:41 UTC

答え1

このタイムゾーンを設定する場所を指定していませんが、TZ環境変数で必要に応じてゾーン名を作成できます。

$ TZ='<UTC-8>+8' date
Fri Feb 22 19:25:36 UTC-8 2019

これは+8POSIXが愚かですオフセットを逆に要求(西に増加);<...>は表示される名前で、任意の単一の単語にすることができます。純粋にアルファベット順の場合は、山括弧は必要ありませんが、山括弧は-必要です。8

$ TZ='<yesterday>24' date
Fri Feb 22 03:30:15 yesterday 2019
$ TZ='tomorrow-24' date
Sun Feb 24 03:30:26 tomorrow 2019

/usr/share/zoneinfoGUIまたは他のゾーン選択ツールを使用している場合は、システムに含まれているゾーン定義を見つけることができます。このリストに別のゾーンを表示するには、適切なゾーン情報ファイルを作成してその場所にコピーする必要があります。これziczoneinfoファイルコンパイルツールテキスト形式、比較的簡単です(特に名前を変更するために既存の領域のみを変更する場合)。

/etc/timezone一部のシステム(私の意見ではRed Hatではない)には、タイムゾーンをグローバルにそのTZ変数型を使用できる名前に設定するファイルがあります。他のシステムでは/etc/localtime通常、このファイルはzoneinfoファイルの1つのコピーであるため、ここでも適切なファイルを作成する必要があります。

ユーザー固有またはセッション領域の場合は、環境変数のみを使用できます。


UTC-8領域を ""または他の定義されていない領域に設定した場合2つのように見えます:最初にゾーン名(「UTC」:存在するすべてのアルファベット文字列)、2番目はPOSIX方向のオフセット(存在する数値文字列)です。つまり、TZ=UTC-8 date出力は次のようになります。

Sat Feb 23 11:50:01 UTC 2019

- つまり、中国や西オーストラリアの時間を報告して考える。その領域は「UTC」と呼ばれます。。間違いをしたとき、このような行動は非常に混乱し、迷惑です。これがあなたの質問に含まれる結果の理由かもしれませんが、わかりません。

RST6RDT5,M10.3.0/00:00:00,M2.4.0/00:00:00これは、標準時間と夏時間のためのオプションの名前とオフセット、2つの間の変換日を含む、従来のほとんど使用されていないPOSIXタイムゾーン形式で解析されます。他の重要なゾーンと同様に、このアプローチにはいくつかの欠点があり、ゾーンファイルのように定義に対する履歴の変更を追跡しません。


「正しい」方法は、America / Los_Angeles地域(PSTでマーク)またはEtc / GMT + 8(対応する名前を使用できない場合、または夏時間を変更したくない場合)を使用することです。 GMT + 8はオフセットをテキストラベルなしで「-08」としてマークします。時にはいわゆる正しいだけでは十分ではないかもしれません。

関連情報