gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 18:22:01 25 4
gpt4 key购买 nike

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

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com