Windows XP を実行している Python アプリケーションで、次のコマンドで現在の時刻を取得します。
import datetime
now = datetime.datetime.now()
また、時刻はシステム クロック表示の時刻と一致します。ただし、アプリケーションがまだ実行されている状態で、Windows の時計に移動し、[タイム ゾーン] を選択して変更します。上記の方法を使用して再び時刻を取得しましたが、今回は正しくありません。タイム ゾーンを変更していないかのように時刻が表示されます。
しかし、アプリケーションを閉じて再起動して時間を取得すると、時計と一致します。アプリケーションが最初にロードされたタイムゾーンに「スタック」しているようです。
興味深いことに、これはタイム ゾーンが変更された場合にのみ発生します。アプリケーションで変更が正しく変更される時間(タイムゾーンではなく)を変更するだけです。
これはなぜですか?また、それを防ぐにはどうすればよいですか?