Python プログラムの実行中にコンピューターのタイムゾーンを変更すると、プログラムを再起動しない限り、そのプログラムは計算と変換に古いタイムゾーンを使用し続けます。
これにより、Windows などでローカル タイムを使用するコマンドの出力を解析する場合などに問題が発生しnet stats svr
ます。このような解析された現地時間を Unix タイムスタンプに変換time.mktime(local_naive_datetime.timetuple())
すると、ローカル時間が古いタイムゾーンにあると想定されるため、プログラムを再起動しない限り、誤ったタイムスタンプが返されます。
この問題を示す簡単な例: を呼び出しdatetime.datetime.now()
、システムのタイムゾーンを変更し、関数を再度呼び出します。2 番目の呼び出しは、古いタイムゾーンで現地時間を返します。
長時間実行されるスクリプトを再起動せずにシステムのタイムゾーンを再確認するように Python に指示するために使用できる関数またはその他の方法はありますか?
Windows 7 で Python 2.7.3 を実行しています。