datetime.tzinfo
モジュールの使い方はわかりません。私はdatetimeデータをUTCからローカルのタイムゾーンに変換しなければなりません。もし '+2'(これはgmt + 2を意味します)を取得したら、これをtzinfoオブジェクトにどのように変換すればいいですか?Pythonでdatetime.tzinfoを使用するには?
また、自動的に夏時間を適用してUTCからローカルタイムゾーンに変換することはできますか?自動的に1時間を引くように設定するにはdstの間にのみ?
datetime.tzinfo
モジュールの使い方はわかりません。私はdatetimeデータをUTCからローカルのタイムゾーンに変換しなければなりません。もし '+2'(これはgmt + 2を意味します)を取得したら、これをtzinfoオブジェクトにどのように変換すればいいですか?Pythonでdatetime.tzinfoを使用するには?
また、自動的に夏時間を適用してUTCからローカルタイムゾーンに変換することはできますか?自動的に1時間を引くように設定するにはdstの間にのみ?
Pythonは実際にはタイムゾーンをうまく実装していません。 documentationによると、tzinfoは、ユーザーによって実装されることを意図した抽象クラスです。
タイムゾーンを扱うための第三者pytzモジュールをお勧めします。
tzoffset
を使用して、取得するタイムゾーンオフセットを設定できます。変数utc_dt
は、それがそうでない場合は、ちょうどあなたのオリジナルの日時を属性として右UTCタイムゾーンを持っていることを確認するために使用された
from dateutil.tz import tzoffset
utc_dt = your_datetime.replace(tzinfo=tzoffset("UTC+0",0))
local_dt = utc_dt.astimezone(tzoffset("UTC+{}".format(n), n*60*60))
:あなたは「2」を取得する場合n = 2
ように、例えば、その文字列を解析動作しません。その後、ターゲットの現地時間のオフセットを秒単位で設定できます。
タイムゾーン内の一部の国では適用されない可能性があるため、DSTを適用することは可能かどうかはわかりません。 "Europe/Vienna"のような正確なローカリゼーションがある場合は、pytzライブラリとdatetime.dst()メソッドを使用して1時間を減算するかどうかを判断できます。
ありがとうございます。私はそれを試してみます。 –