Используя python, конвертируем время UTC в местное время по долготе и широте
Я использую api sunrise-sunset, чтобы получить восход и закат на день.
>>> url = "https://api.sunrise-sunset.org/json?lat=36.7201600&lng=-4.4203400&date=2017-07-31"
>>> import urllib2
>>> import json
>>> resp = urllib2.urlopen(url)
>>> data = json.load(resp)
>>> sunriseUtc = data.get("results").get("sunrise")
>>> sunriseUtc
u'5:23:18 AM'
Я хочу преобразовать это время в формате UTC в местное время в Long, которое передается в URL. т.е. не локальный пользователь.
Любая помощь будет принята с благодарностью.
1 ответ
Вместо того, чтобы использовать веб-запрос, лучше использовать pyephem, это pip install pyephem
возможность и даст вам время восхода / установки (и многое другое) для данного местоположения (широта / долгота), основываясь на физических значениях.
>>> import ephem
>>> sun = ephem.Sun()
>>> greenwich = ephem.Observer()
>>> greenwich.lat = '51:28:38'
>>> print(greenwich.horizon)
0:00:00.0
>>> greenwich.date = '2007/10/1'
>>> r1 = greenwich.next_rising(sun)
>>> greenwich.pressure = 0
>>> greenwich.horizon = '-0:34'
>>> greenwich.date = '2007/10/1'
>>> r2 = greenwich.next_rising(sun)
>>> print('Visual sunrise: %s' % r1)
Visual sunrise: 2007/10/1 05:59:30
>>> print('Naval Observatory sunrise: %s' % r2)
Naval Observatory sunrise: 2007/10/1 05:59:50
Используя Python 3.8:
Для начала добавьте ниже следующие модули:
время импорта
от времени импорт по местному времени
Затем вызовите метод localtime() и вставьте свое время (в данном случае переменную "sunriseUtc"):
местное время (sunriseUtc).
Вот и все.
Если вы хотите отформатировать время (как оно представлено), вам нужно будет импортировать strftime (сокращенно для времени в строковом формате) из модуля времени. Затем настройте формат на свое время. Затем передайте тот же аргумент сверху: например
от времени import strftime
strftime ("% m /% d /% Y%I:%M:%S%p", местное время (sunriseUtc))
05.12.2019 05:57:05
У меня это сработало при использовании модуля запросов для загрузки данных из API openweathermap.org.
Если вам нужна дополнительная поддержка, см. Документацию модуля времени: https://docs.python.org/2/library/time.html
Примечание. Мой проект был построен на примере из "Project: Fetching Current Weather Data", который можно найти здесь: https://automatetheboringstuff.com/chapter14/