首页 > 解决方案 > 使用当前时间与数组进行比较并显示该范围内的信息

问题描述

我的问题是根据当前时间显示 3 小时的预测间隔。该数组包含一个间隔为 3 小时的数据列表,比如时间是下午 5 点,API 调用预测 15:00-18:00 是多云的。我想与用户的时间和日期进行比较,以显示用户“预测下午 3 点至下午 6 点:多云”,如果它的 18:30 根据 api 调用显示“预测 6:pm - 9pm”等等....

这是我的数据/api 调用

var foreCastCall = `https://api.openweathermap.org/data/2.5/forecast?lat=${position.coords.latitude}&lon=${position.coords.longitude}&appid=336a685c326c4e2eb0041535da37b389`;

  function getWeather(callback) {
    jQuery.ajax({
      dataType: "jsonp",
      url: foreCastCall,
      success: callback
    });
}
 
  getWeather(function (data) {
  
    for (var i = 0; i < data.list.length; i+=1) {
      
 console.log("time forecast is", data.list[i].dt_txt); //forecast time
      console.log("full data is..", data); //full json response

    } 

我在下面得到了这段代码来比较时间,但我在使用数组的逻辑时遇到了问题

      function checkTime() {
        var d = new Date(); // current time
        var hours = d.getHours();
        var mins = d.getMinutes();
        var day = d.getDay();
    
        return day >= 1
             && hours >= 9
             && (hours < 17 || hours === 17 && mins <= 30);
    }

标签: javascriptjqueryarraysjsonobject

解决方案


推荐阅读