我搜索了很多,并找到了一些例子,但没有那些没有按预期工作。我正在尝试创建特定日期的可用时间段,并希望显示如下时间:
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 |可用
答案 0 :(得分:1)
为什么要切割数组,而是获取实际小时数并更改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);
&#13;
如果你想显示过去的时间,为什么不制作两个数组:
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);
&#13;
或者在一个阵列中:
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);
&#13;
答案 1 :(得分:1)
var d=new Date();
i=d.getHours();
times=[];
while(i<24){
times.push("today "+i+":00 available");
i++;
}
次数包含15到24的字符串。您可以使用循环添加其他日期
答案 2 :(得分:1)
这是我的方法。从现在开始,它将在上述时间间隔内放置数小时,不包括禁用数组中的小时数。
var interval = 24 //hours
var disabled = [4, 16];
var date = new Date();
var arr = [];
for (var i = 0; i < interval; i++) {
var newDate = new Date(date.getTime() + 60*60*1000*i);
console.log(newDate.getHours())
if(newDate.getHours() < disabled[0] || newDate.getHours() > disabled[1]) {
arr.push(newDate.getHours())
}
}
console.log(arr);