javascript - 如何在 jquery 中创建间隔一小时的时间数组?

标签 javascript jquery

我进行了很多搜索,找到了一些示例,但没有一个没有按预期工作。我正在尝试创建特定日期的可用时段,并希望显示如下时间:

10.00 |可用

11.00 |可用

12-00 |可用

13.00 |可用

等等

例如,现在开始时间为 16:00(我所在时区的当前时间 UTC+02:00),其余时间应禁用。那么明天又从 00:00 开始。我应该如何使其发挥作用?

我现在拥有的是:

var arr = [], i, j;
for(i=0; i<24; i++) {
  for(j=0; j<1; j++) {
    arr.push(i + ":" + ("00") );
  }
}

var d = new Date(),
    h = d.getHours(),
    m = 15 * Math.floor(d.getMinutes() / 15),
    stamp = h + ":" + (m === 0 ? "00" : m);

var pos = arr.indexOf(stamp),
    timelist = arr.slice(pos).concat(arr.slice(0, pos));

console.log(arr);

这给了我这个

["0:00", "1:00", "2:00", "3:00", "4:00", "5:00", "6:00", "7:00", "8:00", "9:00", "10:00", "11:00", "12:00", "13:00", "14:00", "15:00", "16:00", "17:00", "18:00", "19:00", "20:00", "21:00", "22:00", "23:00"]

编辑

我想我不会创建一个新问题,而是会详细阐述这一点。 是否可以像这样显示时间段:

10.00 - 11.00 |可用

12.00 - 13.00 |可用

13-00 - 14.00 |可用

15.00 - 16.00 |可用

最佳答案

为什么要剪切数组,而是获取实际的小时并更改 for 循环:

var date = new Date;
var hour = date.getHours();

var arr = [];
for(var i=hour; i<24; i++) {
  arr.push(i + ":00") );
}
console.log(arr);

如果您还想显示过去的时间,为什么不制作两个数组:

var date = new Date;
var hour = date.getHours();

var pastHours = [],
    futureHours = [];
for( var i=0; i<hour; i++ ) {
  pastHours.push(i+":00");
}
for(var i=hour; i<24; i++) {
  futureHours.push(i + ":" + ("00") );
}
console.log(pastHours);
console.log(futureHours);

或者在一个数组中:

var arr = [];
for( var i=0; i<24; i++ ) {
  arr.push(i+":00");
}

var date = new Date,
    hour = date.getHours(),
    hourIndex = arr.indexOf(hour+":00");

var pastHours = arr.slice(0,hourIndex);
var futureHours = arr.slice(hourIndex);

console.log(pastHours);
console.log(futureHours);

关于javascript - 如何在 jquery 中创建间隔一小时的时间数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39748331/

相关文章:

javascript - 无法从文本框中获取用户输入来更改 Javascript 中的框背景颜色

javascript - 在node.js中运行页面特定的Javascript

javascript - 如何在选中的文本框下方写文字?

javascript - JS获取滚动实例高度

javascript - 我如何在 javascript 中使用 Math.sin() 来获得正确答案?

javascript - 替换字符串索引处的字符

javascript - 如何使 JSON 可重用

javascript - 在远程计算机javascript中显示当前时间

javascript - 销毁 jPlayer 实例

jquery - jQuery 中的 class 和 id 有什么区别?