14

Pythonで結合しようとしている日付と時刻があります。時間はタイムゾーンに対応しています。

しかし、それらを組み合わせようとすると、時間が間違ってしまいます。

import pytz
from datetime import time, date
NYC_TIME = pytz.timezone('America/New_York')

start_date = date(2012, 7, 7)
start_time = time(hour = 0, tzinfo = NYC_TIME)
combined = datetime.combine(start_date, start_time)
print combined
print NYC_TIME.normalize(combined)

これは2012-07-07 00:00:00-05:00、に正規化されたを出力し2012-07-07 01:00:00-04:00ます。なぜこうなった?どうすればそれを回避できますか?

4

1 に答える 1

3

日付が添付されていない時間は、夏時間ではないと想定する必要があります。日付を付けると、その仮定を修正できます。ゾーンオフセットが変更され、同じUTC相当に保つために時間も変更されます。

于 2012-06-28T22:11:05.857 に答える