我试图使用以下函数(取自另一个答案)来获得一个随机时间,即>从现在起,每小时一次
我不知道我需要在startHour
中输入的确切值
我的时间是美国东部时间下午4点,我在这里输入16,在hourRange
输入5,但它给我的值小于这个。
function randomTime(rangeOfDays = 0, startHour, hourRange){
var today = new Date(Date.now());
return new Date(today.getYear()+1900,today.getMonth(), today.getDate()+Math.random() *rangeOfDays, Math.random()*hourRange + startHour, Math.random()*60)
}
链接到答案,答案
这里只使用Ticks来处理问题。这样更容易管理。
const getRandomTime = (offsetHour = 0, rangeInHours = 2) => {
const curTicks = Date.now() + 0 * (offsetHour*60*60*1000);
const addTicks = (Math.random()*rangeInHours)*60*60*1000;
return new Date(curTicks + addTicks);
};
console.log((new Date()));
for(let i=0; i<10;i++) {
console.log( getRandomTime(1, 2+i));
}