javascript - 比较时间并在 jquery 中显示消息

标签 javascript jquery datetime

我有开放时间要在网站上显示。

Mon, Tue, Wed, Fri 10:00 to 18:00 
thursday 10:00 to 20:00
saturday: 9:00 to 14:00

现在我需要在主页上显示一条与当前时间相比的消息

当它在这个时间范围内时。显示消息“我们随时为您服务”。 当超出时间范围时,例如:星期一 18:15,它应该显示:

“周二 10:00 起我们将再次为您服务”

我该怎么做。你能帮我一下吗?

代码

<script>
    $(function(){
        $.get('date.json', function(data){
            initialize(data);
        });
    });

    function initialize(data) {
        $.each(data,function(pos) {
            alert(this.day);
        });
    }
</script>

json

[
  {
    "day": "monday",
    "starttime": "10.00",
    "endtime": "18.00"
  },
  {
    "day": "tuesday",
    "starttime": "10.00",
    "endtime": "18.00"
  },
  {
    "day": "wednesday",
    "starttime": "10.00",
    "endtime": "18.00"
  },
  {
    "day": "thursday",
    "starttime": "10.00",
    "endtime": "20.00"
  },
  {
    "day": "friday",
    "starttime": "10.00",
    "endtime": "18.00"
  },
  {
    "day": "saturday",
    "starttime": "9.00",
    "endtime": "14.00"
  },
  {
    "day": "sunday",
    "starttime": "10.00",
    "endtime": "18.00"
  }
]

最佳答案

将以下内容复制并粘贴到控制台。我使用了与您提供的完全相同的数据。欢迎提出任何问题或报告任何问题。

    var dataJSON = [
  {
    "day": "monday",
    "starttime": "10.00",
    "endtime": "18.00"
  },
  {
    "day": "tuesday",
    "starttime": "10.00",
    "endtime": "18.00"
  },
  {
    "day": "wednesday",
    "starttime": "10.00",
    "endtime": "18.00"
  },
  {
    "day": "thursday",
    "starttime": "10.00",
    "endtime": "20.00"
  },
  {
    "day": "friday",
    "starttime": "10.00",
    "endtime": "18.00"
  },
  {
    "day": "saturday",
    "starttime": "9.00",
    "endtime": "14.00"
  },
  {
    "day": "sunday",
    "starttime": "10.00",
    "endtime": "18.00"
  }
];
var d = new Date();
var day = d.toString().split(' ')[0].toLowerCase();
var currHR = d.getHours();
for(i = 0; i<7; i++) {
if(((dataJSON[i].day)).indexOf(day) > -1) {
console.log(day);
console.log(dataJSON[i].starttime + "     "+dataJSON[i].endtime)

if(currHR >= dataJSON[i].starttime && currHR < dataJSON[i].endtime) {
console.log("We are here");
} else {

if(i==6) {
   i = 0;
} else {
   i = i+1;
}

console.log("we are here for you again "+ dataJSON[i].day + " from " + dataJSON[i].starttime +" to " +dataJSON[i].endtime);
}

}
}

关于javascript - 比较时间并在 jquery 中显示消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35912443/

相关文章:

javascript - 调用nodejs的多个函数

javascript - jQuery 或下划线按跨度文本对列表进行排序

java - 计算两个时间的差异

php - 插入当前时间时如何计算上次时间和总时间?

javascript - 如何在 JavaScript 中重新填充下拉字段?

javascript - jQuery 必需(依赖表达式)无法正常工作

javascript - 当鼠标进入该字段时,div 不会改变颜色

jquery - RaphaelJS + jQuery : How to define ID and CLASSES for paths

javascript - Ajax jQuery 中数据过滤器的功能

python - Pandas 数据框日期时间到时间然后到秒