gpt4 book ai didi

javascript - 生成 2 个日期之间的所有数字并保存为 [day, hour]

转载 作者:行者123 更新时间:2023-12-03 00:40:52 26 4
gpt4 key购买 nike

给我 2 个日期,它们保存为 2 个数字 [小时,工作日],其中小时可以是 0-23,工作日可以是 1-7。然后我尝试生成中间的所有时间,例如[13, 2] 和 [2, 3] 将生成:

[13,2]
[14,2]
[15,2]
...
[0,3]
[1,3]
[2,3]

我也有 2 个日期作为日期时间,但我不知道使用它们是否更容易。两个日期之间的间隔绝不会超过几天,而且绝不会跨越周末。

最佳答案

您可以定义一个 next 日期函数,它依赖 % 来选择下一个小时和日期,然后您可以使用简单的 while循环:

function next([hour, day]) {
let nextHour = (hour + 1) % 24;
let nextDay = nextHour === 0 ? (day % 7) + 1 : day;
return [nextHour, nextDay];
}

function range([h1, d1], [h2, d2]) {
let res = [], ch = h1, cd = d1;
while (ch !== h2 || cd !== d2) {
res.push([ch, cd]);
[ch, cd] = next([ch, cd]);
}
res.push([ch, cd]);
return res;
}

console.log(range([13, 2], [2, 3]));
console.log(range([13, 7], [10, 2]));

关于javascript - 生成 2 个日期之间的所有数字并保存为 [day, hour],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53471836/

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