2012-04-19 16 views
2

に夏時間を取って、DateTimeオブジェクトにUTCタイムスタンプを変換します使用してアカウント

time.mktime(datetime.datetime.now(pytz.timezone("UTC")).timetuple()) 

4月19日2012年にタイムスタンプをニューヨークで10時が1334840917.どのように、このタイムスタンプを与えられた直後に夏時間を考慮に入れたdatetimeオブジェクトに戻すことはできますか?

私が行う場合:

>>>eastern = pytz.timezone("Us/Eastern") 
    >>>dt = datetime.datetime.fromtimestamp(1334840917,eastern) 
    >>>dt.hour 

出力は次のとおりです。あなたのタイムスタンプは、現地時間にUTCていない理由は、9

+0

ありますか? –

+0

タイムスタンプはUTCで表示されますが、それは何ですか:time.mktime(datetime.datetime.now(pytz.timezone( "UTC"))。timetuple()) ? – Alexander

+0

うん、そうだね。私は 'calendar.timegm(datetime.datetime.utcnow()。utctimetuple())'を使用していますが、これは同じでなければなりません。 –

答えて

0

dt = datetime.datetime.fromtimestamp(1334840917 + time.daylight*3600)

+0

私はtime.daylightが夏時間であるかどうかを判断するためにローカル時間を使用すると思います。しかし、2012年3月11日以前のタイムスタンプがあれば、これはうまくいくとは思えません。 – Alexander

+0

はい、私はあなたが別の情報源から時間を得たいとは思わなかった。 AFAIKについての情報を得るためにプレーンなタイムスタンプだけを使うことはできません。 – Reith

関連する問題