我无法解释openweather api的响应。我对下面调用中返回的值没有清楚的了解。
* appid是来自openweather的样本,而不是我自己的
特别是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响应时,感谢任何帮助
答案 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)
要将UNIX时间戳转换为JavaScript Date对象,请在构造函数中将其乘以1000。
var date = new Date(unix_timestamp * 1000);
不知道您使用了什么转换,很难调试。如果您想将回复保留为Kelvin。确保使用以下转换。
var fahrenheitTemp = (kelvinTemp − 273.15) × 9/5 + 32;
否则,您可以像这样传递单位查询。
http://api.openweathermap.org/data/2.5/forecast/daily?zip=91001&appid=xxxxxx&units=imperal