我的计划是向用户显示过去3天的各种天气统计数据,但我无法正确使用时间参数。这是我的代码:
var forecastURL = "https://api.forecast.io/forecast/API_KEY/".concat(lat,lng,new Date().toISOString().replace("Z","-72:00"));
$.ajax({
url: forecastURL,
jsonp: "callback",
dataType: "jsonp",
success: function(response) {
console.log(response);
}
});
我不确定我做的是正确的日期,但我得到的是一个警告,说不推荐使用getDefaultPrevent。还有其他错误还是只是我约会?如果是日期,那么过去操纵ISO 8601字符串的正确结构是什么?如果可能的话,最好是7天。
答案 0 :(得分:0)
首先,在这个用法中concat
不会在值之间返回逗号,所以我的代码使用+ "," +
方法而不是创建另一个变量,如果你想要的话你需要做的使用concat。
其次,在ISO时间戳中,即:
2015-05-25T20:56:15.179Z
Z
表示时间的UTC偏移量为零。在UTC + 10小时内,这可以用+1000
代替。如果您希望更改时间值本身,那么UTC偏移量就不是这样做的地方。
var d = new Date();
d.setHours(d.getHours()-72);
var forecastURL = "https://api.forecast.io/forecast/API_KEY/" + lat + "," + lng + "," + d.toISOString();
//Your existing AJAX call would go here
您可以将getHours
和setHours
替换为getDate
和setDate
或任何其他JS日期函数。
我无法测试您问题的JSON部分,因为我没有API密钥,但它看起来应该有效。在jQuery here中找到有关JSON的更多信息。