タイムゾーンを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
これは+8
POSIXが愚かですオフセットを逆に要求(西に増加);<...>
は表示される名前で、任意の単一の単語にすることができます。純粋にアルファベット順の場合は、山括弧は必要ありませんが、山括弧は-
必要です。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/zoneinfo
GUIまたは他のゾーン選択ツールを使用している場合は、システムに含まれているゾーン定義を見つけることができます。このリストに別のゾーンを表示するには、適切なゾーン情報ファイルを作成してその場所にコピーする必要があります。これzic
zoneinfoファイルコンパイルツールテキスト形式、比較的簡単です(特に名前を変更するために既存の領域のみを変更する場合)。
/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」としてマークします。時にはいわゆる正しいだけでは十分ではないかもしれません。