Javascript/jQuery显示从今天到明天日期的小时循环



我需要显示从特定小时到特定小时的小时。

假设我需要从03-Jul-2021 07:0004-Jul-2021 07:00的小时数。

var date = new Date;
var hour = date.getHours();
var getHour = []
for( var i=7; i<hour; i++ ) {
getHour.push(i+":00");
}
console.log(getHour);

我该怎么做呢?

所以结果应该是:

07:00
08:00
09: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
00:00
01:00
02:00
03:00
04:00
05:00
06:00
07:00

你知道怎么做吗?

有一种方法

  1. 它不硬编码循环中的时间
  2. 填充小时

缺失:处理夏令时切换。我们可以使用。gettimezoneoffset(),如果我们想要有一个列表,它有正确的DST时间

const anHour = 60*60*1000;
const getTimes = (start, end) => {
const hours = [];
for (let i = start, n = end.getTime(); i.getTime() <= n; i.setTime(i.getTime()+anHour)) hours.push(`${String(i.getHours()).padStart(2,"0")}:00`);
return hours;
};

let startDate = new Date(2021, 6, 3, 7, 0, 0, 0);
let endDate = new Date(2021, 6, 4, 7, 0, 0, 0);
console.log(getTimes(startDate, endDate));
// If you do not need to specify dates and times, then have a static array of 
const times = ["07:00",  "08:00",  "09: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",  "00:00",  "01:00",  "02:00",  "03:00",  "04:00",  "05:00",  "06:00",  "07:00" ];

处理DST需要像
如何检查DST(日光节约时间)是否有效,如果是,偏移量?

如果我理解了你的问题,应该是这样的

var date = new Date;
var hour = date.getHours();
var getHour = []
for (var i = 0; i < 25; i++) {
getHour.push((hour + i) % 24 + ":00");
}
console.log(getHour); // 8:00, 9:00, ... 8:00

最新更新