Si je lance cette url: https://api.sunrise-sunset.org/json?lat=12.98&lng=77.61&date=2017-08-26se utc incorrect à l'heure locale pour fuseau horaire donné
Je reçois le lever du soleil temps: « 12:38:14 AM » et c'est temps UTC, si je le convertir en fuseau horaire donné en utilisant:
from datetime import datetime
import pytz
from dateutil import tz
def convertUTCtoLocal(date, utcTime, timezone):
""" converts UTC time to given timezone
"""
to_zone = pytz.timezone(timezone)
from_zone = _tz.gettz('UTC')
utc = _datetime.strptime('%s %s' % (date, utcTime), '%Y-%m-%d %H:%M:%S')
utc = utc.replace(tzinfo=from_zone)
local = utc.astimezone(to_zone)
return str(local.time())
mais cela revient 18:08:16
qui est soir temps, donc ce que je fais mal ici.
donné timzone est Asia/Kolkata
Exemple:
>>> from datetime import datetime
>>> from dateutil import tz
>>> from_zone = tz.gettz('UTC')
>>> to_zone = tz.gettz('Asia/Kolkata')
>>> utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S')
>>> utcTime = "12:38:16" ## from json URL we get AM/PM but I remove it.
>>> utc = datetime.strptime('2017-08-26 {}'.format(utcTime), '%Y-%m-%d %H:%M:%S')
>>> utc
datetime.datetime(2017, 8, 26, 12, 38, 16)
>>> utc = utc.replace(tzinfo=from_zone)
>>> central = utc.astimezone(to_zone)
>>> central
datetime.datetime(2017, 8, 26, 18, 8, 16, tzinfo=tzfile('/usr/share/zoneinfo/Asia/Kolkata'))
Pouvez-vous donner et exemple pour la date, utcTime et fuseau horaire? – ands
@ands: désolé bout que je l'ai mis à jour. –
Merci, je le trouve, s'il vous plaît ajouter un ensemble d'exemples pour les arguments de la fonction convertUTCtoLocal. – ands