エポックタイムスタンプをpytzを使用してさまざまなタイムゾーンの日付に変換する作業をしています。私がやろうとしているのは、Olsonデータベースのタイムゾーンとエポックタイムを受け入れ、ローカライズされた日時オブジェクトを返すDateTimeオブジェクトを作成することです。最終的には、「ニューヨークのエポックタイム1350663248は何時でしたか?」などの質問に答える必要があります。
ここで何かが正しく機能していません:
import datetime, pytz, time
class DateTime:
def __init__(self, timezone, epoch):
self.timezone = timezone
self.epoch = epoch
timezoneobject = pytz.timezone(timezone)
datetimeobject = datetime.datetime.fromtimestamp( self.epoch )
self.datetime = timezoneobject.localize(datetimeobject)
def hour(self):
return self.datetime.hour
if __name__=='__main__':
epoch = time.time()
dt = DateTime('America/Los_Angeles',epoch)
print dt.datetime.hour
dt = DateTime('America/New_York',epoch)
print dt.datetime.hour
これは同じ時間を印刷しますが、1つは3時間ほど先にあるはずです。ここで何が問題になっていますか?私はPythonの完全な初心者です、どんな助けでもありがたいです!