私はPythonTZ対応の日時を持っていますend_date
。たとえば2013-03-0106:00:00 + 00:00です。アメリカ/シカゴのタイムゾーンのこの日時の月を取得したいと思います。もしそうなら、私は3を取得します。メソッドに-または何か-end_date.month
のようなものを呼び出して、正しい値2を取得したいと思います。end_date.timezone('America/Chicago').month
私はこの日時/pytzのものを理解したと思いました...
を使用できます.astimezone()
(ドキュメントによると、タイムゾーンの遷移や夏時間のようなものを処理するには.normalize()
、結果が必要です)。
from pytz import timezone
end_date = ...tz-aware datetime...
us_tz = timezone('America/Chicago')
localized_end_date = us_tz.normalize(end_date.astimezone(us_tz))
.astimezone
ナイーブな日時では使用できないことに注意してください。TZ対応の日時である必要があります。別の方法は、インスタンスで.localize()
メソッドを使用することです。tzinfo
end_date = ...naive datetime...
localized_end_date = timezone('America/Chicago').localize(end_date, is_dst=None)