GMTで定義された異なるタイムゾーン間でUTCのカスタム文字列時間を変換したいと思います。
ここにあるすべての答えを一般化しても大丈夫です。しかし、この例にはいくつかの問題があります。
1.TZ='GMT-07' date --date='TZ="UTC" 00:34'
07:34:00 +0700
2.TZ=':America/Vancouver' date --date='TZ="UTC" 00:34'
17:34:00 -0700
GMTをターゲットTZとして使用しようとすると、結果が異なるのはなぜですか?
この都市はグリニッジ標準時と同じです。
PS だからGMT宛先の解決策を見つけましたが、結果は時間ごとに表示され、TZは間違って表示されます。
TZ='UTC' date --date='TZ="GMT-07" 00:34'
17:34:00 +0000
答え1
TZ='GMT-07' TZ=':America/Vancouver'
同じであるという主張は偽です。最初のものは、7時間のタイムゾーン(略語で「GMT」)を記述するPOSIXスタイルの規則です。最初標準時間はUTCで、夏時間には切り替えられません。負の数は次のことを意味します。最初協定世界時(UTC)。
バンクーバーは太平洋標準時で時差が8時間です。後ろに標準時はUTCで、夏時間はUTCより7時間遅いです。正しいPOSIXスタイルの規則は、カナダの法律の実際の複雑さを単純化することですPST8PDT
。
追加読書
man tzset