0

Pythonで一般的なタイムゾーンの問題と思われる問題に取り組んでいますが、それを解決することも、SOで発生している正確な問題を見つけることもできなかったため、以下の質問をします。

タイムゾーンが設定されていないタイムタプルがあります。タイムゾーンもあります。そして、私は別のタイムゾーンのコンピューターを持っています。DSTを考慮して、時間を現地時間に変換するにはどうすればよいですか?

>>> type(dt.value)
<type 'datetime.datetime'>
>>> print dt.timetuple()
time.struct_time(tm_year=2012, tm_mon=6, tm_mday=28, ..., tm_isdst=-1)
>>> print somezone.zone
America/New_York

次のようにゾーン情報を追加するとdt、DSTが適切に処理されません...tm_isdst月がDSTであるかどうかに関係なく、常にゼロとして表示されます。

dt.value = dt.value.replace(tzinfo=somezone)
>>> print dt.timetuple()
time.struct_time(tm_year=2012, tm_mon=6, tm_mday=28, ..., tm_isdst=0)
4

1 に答える 1

1

ライブラリを使用しpytzます。これを簡単に行うことができます。

from pytz import timezone
zone_tz = timezone(zone)
zone_aware_dt = zone_tz.localize(dt)
local_tz = timezone("America/Los_Angeles")
local_dt = local_tz.normalize(zone_aware_dt)
于 2012-09-30T06:12:45.153 に答える