首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用weatherbit.io api甚至时区变化来获取特定日期的天气报告?

如何使用weatherbit.io api甚至时区变化来获取特定日期的天气报告?
EN

Stack Overflow用户
提问于 2018-08-14 14:05:32
回答 1查看 1.1K关注 0票数 1

我正在使用气象数据api获取历史天气报告。它根据UTC或GMT时间进行响应。但我的时区不一样。

,例如

代码语言:javascript
复制
api_values_call = requests.get('https://api.weatherbit.io/v2.0/history/hourly?key=yourapikey&city=seattle,WA&start_date=2018-08-12:00&end_date=2018-08-12:24&units=I')
api_values = api_values_call.json()

它返回的天气报告格林尼治标准时间2018-08-12:00到2018-08-12:23带时间戳。

如果我将utctime戳转换为带时区的datetime (‘America/ Los_Angels’),它将在前一天开始(即Los_Angels时间为GMT-7:00 )。

所以我得到了2018-08-11:17的报告,因为GMT-7被应用于给定的时间戳。但我需要一整天的天气报告。

我怎样才能得到2018-08-12:00到2018-08-12:23的天气预报,即使时区发生变化。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-16 05:23:34

我通过设定的时间间隔start_date=2018-08-12:07&end_date=2018-08-13:07获得了2018-08-12日全天天气报告

历史调用可以达到24小时,这样我们就可以根据您的时区设置时间。

然后,您只需将时间戳GMT/UTC转换为您的时区。

日光时间改变也很重要,因为有时它会增加或减少。

因此,查找UTC偏移时间并动态使用。

例如,

代码语言:javascript
复制
tz = pytz.timezone('America/Los_Angeles')
dt = datetime.strptime(given_date, '%Y-%m-%d')
offset = int(tz.utcoffset(dt).total_seconds() / 3600.0)

给定的时间2018-08-12:07是utcoffset时间。现在我可以正确地得到全天报告了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51843395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档