Linux夏時間の混乱

Linux夏時間の混乱

私の質問は、夏時間(DST)とLinuxで次の動作が正常かどうかについてです。TZタイムゾーンを指定するには、POSIX変数を使用します。

次の例を使用してください。これマニュアルページでは、TZ変数を次のように設定しました。

export TZ="NZST-12:00:00NZDT-13:00:00,M10.1.0,M3.3.0"

この環境変数を設定したら、それを使用してdate時間を設定し、夏時間に合わせて時計がカチカチするのを見ることができます。それはうまくいきました(名前がに変わり、NZST1NZDT時間の睡眠を「失いました」)。

Sun Oct  4 01:59:57 NZST 2015
Sun Oct  4 01:59:58 NZST 2015
Sun Oct  4 01:59:59 NZST 2015
Sun Oct  4 01:59:59 NZST 2015
Sun Oct  4 03:00:00 NZDT 2015
Sun Oct  4 03:00:01 NZDT 2015

ただし、夏時間が終了する前に設定すると、date奇妙な動作が発生します。たとえば、次のように時間を設定した場合:

date --set="20 MAR 2016 0:59:50"
Sun Mar 20 00:59:50 NZDT 2016

それでも問題ありませんが、時計を少し前にすると1:00:50(午前1時直後に)問題が発生します。

date --set="20 MAR 2016 1:00:50"
Sun Mar 20 01:00:50 NZST 2016

私たちは飛び降りてすぐにNZDT戻ってきました。NZSTしかし、システムをリセットして0:59:50(忍耐を持って)待つと、あまりにも早く飛び出さずにNZDT適切な時間にロールバックされます。NZST

これが正常なシステム動作ですか?

答え1

問題は、変換の処理方法にあるのではなく、コマンドで指定されたタイミングがdate --set="20 MAR 2016 1:00:50"不明であると思います。

つまり、この時間は、夏時間が終了する前に最初に2回発生し、時計が1時間後に移動したときに発生します。残念ながら、発生する時間を指定する方法がわかりません。明確にするためにタイムゾーンを含めることはできますか?

関連情報