我希望从当前时间和提前24小时(今晚21:00至明天21:00)获得每小时。下面的循环只循环到24。
var i;
var date = new Date;
var hours = date.getHours();
for(i = hours; i <= 24; i++) {
console.log(i);
}
我该怎么做才能做到这一点?
答案 0 :(得分:5)
使用模运算
for(i = 0; i <= 24; i++) {
console.log((i+hours)%24);
}
小时0显示24:
for(i = 0; i <= 24; i++) {
var h = (hours+i)%24;
if (h == 0) h = 24;
console.log(h);
}
答案 1 :(得分:1)
这是否符合您的要求?
var i;
var date = new Date;
var hours = date.getHours();
for(i = hours; i <= hours+24; i++) {
if(i<25){
console.log(i);
}else{
console.log(i-24);
}
}
答案 2 :(得分:1)
您的结束条件已由hours
关闭,您需要调整24小时限制。一种解决方案就是这样做,
var date = new Date;
var hours = date.getHours();
for (var i = hours; i <= hours+24; i++) {
console.log((i > 23) ? i - 24 : i);
}
更新了fiddle