I ran when it was noon in turkey..this is what I got:
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)
Why did I get 20:11:46?
Because the base time is wrong, just change utc_now = datetime.now()
to utc_now = datetime.utcnow()
and then it works.
As @RemcoGerlich has said, you should use utcnow
to get UTC.
Whole code:
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)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With