2017-12-22 5 views
1

は、私が得たものである:Python - トルコでは何時ですか?それはturkey..thisで正午だったとき、私は走った

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秒を取得するのですか?

+3

datetime.now()は現在、UTCを返しません、それはあなたの現在のタイムゾーンの時刻を返します。 datetime.utcnow()を使用する – RemcoGerlich

答えて

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) 
関連する問題