如何按时区获取时间,在 OpenWeatherMap API 响应中给出。 Python
How to get time by timezone, that gives in OpenWatherMap API response. Python
我通过请求 OWM API:
获得了一些城市当前天气的信息
response = requests.get(
f'https://api.openweathermap.org/data/2.5/weather?q={city}&appid={KEY}&units=metric')
content = json.loads(response.text)
weather_info = {'degrees': f"{content['main']['temp']}",
'state': f"{content['weather'][0]['main']}",
'city': f"{content['name']}",
'timezone': f"{content['timezone']}",
'id': f"{city.id}"}
当我打印 weather_info
得到这个 JSON 响应时(例如城市是纽约):
{'degrees': '9.64', 'state': 'Clouds', 'city': 'New York', 'timezone': '-14400', 'id': '2'}
那么我如何通过此响应 ('timezone': '-14400'
) 中给出的时区获取纽约的当前时间?
这可以用datetime
来完成:
import datetime
def get_date(timezone):
tz = datetime.timezone(datetime.timedelta(seconds=int(timezone)))
return datetime.datetime.now(tz = tz).strftime("%m/%d/%Y, %H:%M:%S") #strftime is just for visually formatting the datetime object
weather_info = {'degrees': f"{content['main']['temp']}",
'state': f"{content['weather'][0]['main']}",
'city': f"{content['name']}",
'timezone': f"{get_date(content['timezone'])}",
'id': f"{city.id}"}
我通过请求 OWM API:
获得了一些城市当前天气的信息response = requests.get(
f'https://api.openweathermap.org/data/2.5/weather?q={city}&appid={KEY}&units=metric')
content = json.loads(response.text)
weather_info = {'degrees': f"{content['main']['temp']}",
'state': f"{content['weather'][0]['main']}",
'city': f"{content['name']}",
'timezone': f"{content['timezone']}",
'id': f"{city.id}"}
当我打印 weather_info
得到这个 JSON 响应时(例如城市是纽约):
{'degrees': '9.64', 'state': 'Clouds', 'city': 'New York', 'timezone': '-14400', 'id': '2'}
那么我如何通过此响应 ('timezone': '-14400'
) 中给出的时区获取纽约的当前时间?
这可以用datetime
来完成:
import datetime
def get_date(timezone):
tz = datetime.timezone(datetime.timedelta(seconds=int(timezone)))
return datetime.datetime.now(tz = tz).strftime("%m/%d/%Y, %H:%M:%S") #strftime is just for visually formatting the datetime object
weather_info = {'degrees': f"{content['main']['temp']}",
'state': f"{content['weather'][0]['main']}",
'city': f"{content['name']}",
'timezone': f"{get_date(content['timezone'])}",
'id': f"{city.id}"}