2016-04-26 4 views
-1

私はPython datetimeオブジェクトを持っています。ここにはoffsetとtzname()があります。 Djangoの場合と同様に、タイムゾーンはUTCとして保存されます.tznameを別に保存して、そのフィールドを使用して実際の日時に変換することができます。Django/Pythonタイムスタンプconvert UTC to

>>>from dateutil.parser import parse 
>>>dt = parse('Tue Apr 26 2016 08:32:00 GMT-0400 (EDT)') 

>>> dt 
datetime.datetime(2016, 4, 26, 8, 32, tzinfo=tzoffset('EDT', 14400)) 
>>> dt.tzinfo 
tzoffset('EDT', 14400) 
>>> dt.tzname() 
'EDT' 

質問: -

私はジャンゴで "DT" オブジェクトを格納するとき、それはUTC format.Howに変換私はEDT形式にUTC形式を再変換するのですか?

このリンクを参考にしていますが、「EDT」のto_zoneオブジェクトを作成する方法がわかりません。 'UTC'は正常に動作しますが、tz.gettz( 'EDT')は常にNoneです。

>>> to_zone=tz.gettz('EDT') 
>>> to_zone 
>>> to_zone=tz.gettz('UTC') 
>>> to_zone 
tzfile('/usr/share/zoneinfo/UTC') 

Python - Convert UTC datetime string to local datetime

+0

あなたの入力は何ですか? ( 'type(input_object)')。 'America/New_York'タイムゾーンに指定されたUTC時刻を表示する*ようにしますか? ( 'timezone.activate()'、 'localtime'について知っていますか?)' USE_TZ'、 'TIME_ZONE'、' timezone.get_current_timezone() 'とは何ですか? – jfs

+0

必要な詳細をすべて追加しました... "dt"オブジェクトをDjangoに保存すると、自動的に 'UTC'形式に変換されます。私はその 'UTC'オブジェクトを取得し、再び 'EDT'形式に変換したい。 – user1050619

答えて

0

日時パッケージは、メソッド "astimezone" を持っている:

datetime.astimezone

ので

tzone = tz.gettz('EDT') 
newdate = olddate.astimezone(tzone)