使用openweathermap api按时间预测

时间:2013-09-09 14:17:12

标签: javascript json api weather-api openweathermap

我正在玩openweathermap api,使用提供的api将预测打印到屏幕上。

我要做的是获取未来或过去的给定时间的预测,我可以在api调用的结果中看到此信息。我不知道如何获取这些信息?它看起来是unix时间戳和人类可读的格式,但我可以看到在api中如何在给定时间内打印出这个预测?

谢谢

Example API code
    http://api.openweathermap.org/data/2.5/forecast?lat=51.5072&lon=0.1275&units=metric

Example forecast "dt_txt":"2013-09-14 00:00:00"},{"dt":1379127600,

Example web page

<html>
<head>
<title>Weather</title>
    <meta charset="utf-8">

    <script src="http://code.jquery.com/jquery-1.7.min.js" ></script>
    <script src="http://code.jquery.com/ui/1.7.0/jquery-ui.js" ></script>

<script>
function getWeather(callback) {
    var weather = 'http://api.openweathermap.org/data/2.5/forecast?lat=51.5072&lon=0.1275&units=metric';
    $.ajax({
      dataType: "jsonp",
      url: weather,
      success: callback
    });
}

// get data:
getWeather(function (data) {
    console.log('weather data received');
    console.log(data.list[0].weather[0].description); 
    console.log(data.list[0].weather[0].main);  
});

getWeather(function (data) {
    document.write('weather data received');
    document.write('<br>');
    document.write(data.list[0].weather[0].description);
document.write('<br>');
    document.write(data.list[0].weather[0].main);
document.write('<br>');
    document.write(data.list[0].main.temp);
document.write('<br>');
});
</script>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

我建议您尝试使用 moment.js ,这是一个jquery插件,适用于任何与时间有关的事情。

moment(dt).calendar();

用于格式化 openWeatherAPI

中的dt

由于