了解openweather api的反应

时间:2018-05-20 23:30:31

标签: api utc weather

我无法解释openweather api的响应。我对下面调用中返回的值没有清楚的了解。

* appid是来自openweather的样本,而不是我自己的

http://samples.openweathermap.org/data/2.5/forecast/daily?zip=91001&appid=b6907d289e10d714a6e88b30761fae22

特别是dt,但也是白天和最小。

{
  dt: 1519070400,
  temp: {
   day: 283.99,
   min: 271.86,
   etc...
}

这些是API

中这些值的定义

dt - 数据预测temp.day的时间 - 日温度。单位默认值:开尔文,公制:摄氏度,英制:华氏度。

我的问题是......

1)我认为dt单元是某种utc编号,但是当我尝试使用UTC转换器对其进行转换时,它返回无效。我无法在文档中找到有关除定义之外的更多信息。这个单位是什么,你有关于如何转换它的提示吗?

2)temp.day - 读取定义我认为它是今天以开尔文返回的温度,但当我将其转换为华氏温度时,温度大幅下降。对于这个例子,邮政编码是加利福尼亚州帕萨迪纳,当前温度是70华氏度,但是当我将返回的结果283.99开尔文转换为华氏温度时,结果是51度。你知道这可能是什么吗?

当我试图更好地理解这些类型的api响应时,感谢任何帮助

2 个答案:

答案 0 :(得分:0)

对此致歉。无论如何,我希望这会有所帮助!

1)请使用此转换器:https://chrome.google.com/webstore/detail/utime/kpcibgnngaaabebmcabmkocdokepdaki 在其设置中,选择格林尼治标准时间(Weastern Europe Time,London .....),因此将根据UTC 0000时区进行转换。 将UNIX时间戳转换为人类可读的日期,反之亦然。 这只是一个时间戳。

2)您使用示例文件,因此它未连接到真实的API服务! API的真实网址如下:

http://api.openweathermap.org/data/2.5/forecast/daily?zip=91001&appid=xxxxxx

该网址适用于16个每日API,该帐户不适用于免费帐户,因此,如果您仍然使用免费套餐,则可能无法访问数据。 温度以开尔文为单位。可以更改单位(units = metrics-C /单位= imperal-F)。

答案 1 :(得分:0)

  1. 要将UNIX时间戳转换为JavaScript Date对象,请在构造函数中将其乘以1000。

    var date = new Date(unix_timestamp * 1000);

  2. 不知道您使用了什么转换,很难调试。如果您想将回复保留为Kelvin。确保使用以下转换。

    var fahrenheitTemp = (kelvinTemp − 273.15) × 9/5 + 32;

    否则,您可以像这样传递单位查询。

    http://api.openweathermap.org/data/2.5/forecast/daily?zip=91001&appid=xxxxxx&units=imperal