我在火鸡中午的时候跑了。这就是我得到的:
2017-12-22 20:11:46.038218+03:00
import pytz
from pytz import timezone
from datetime import datetime
utc_now = datetime.now()
utc = pytz.timezone('UTC')
aware_date = utc.localize(utc_now)
turkey = timezone('Europe/Istanbul')
now_turkey = aware_date.astimezone(turkey)
为什么我得到20:11:46?
答案 0 :(得分:2)
由于基准时间错误,只需将utc_now = datetime.now()
更改为utc_now = datetime.utcnow()
,然后就可以了。
正如@RemcoGerlich所说,你应该用utcnow
来获得UTC。
整个代码:
import pytz
from pytz import timezone
from datetime import datetime
utc_now = datetime.utcnow()
utc = pytz.timezone('UTC')
aware_date = utc.localize(utc_now)
turkey = timezone('Europe/Istanbul')
now_turkey = aware_date.astimezone(turkey)