js根据系统时间,按00:00,00:05,00:10这样的规律每隔5分钟进行倒计时
时间: 2024-09-10 21:23:52 浏览: 52
JavaScript中可以通过Date对象获取当前系统时间,并使用setInterval函数来设置定时器,从而每隔一定时间执行特定的函数。以下是一个简单的实现,它根据系统时间每5分钟执行一次,从最近的一个5分倍数时间开始倒计时:
```javascript
// 获取当前时间
let now = new Date();
// 计算从当前时间到下一个5分钟倍数的毫秒数
let next5Min = new Date(now.getFullYear(), now.getMonth(), now.getDate(), now.getHours(), Math.ceil(now.getMinutes() / 5) * 5, 0, 0);
let diff = next5Min - now;
// 如果已经过了最近的一个5分钟倍数,则从下一个5分钟倍数开始倒计时
if (diff < 0) {
diff += 5 * 60 * 1000;
}
// 设置定时器,每隔diff毫秒(5分钟)执行一次倒计时函数
let countdown = setInterval(function() {
// 打印倒计时
console.log('倒计时:' + Math.floor(diff / 1000) + '秒');
// 更新倒计时时间
diff -= 5 * 60 * 1000;
// 如果倒计时结束
if (diff <= 0) {
console.log('倒计时结束');
clearInterval(countdown); // 清除定时器
}
}, 1000);
```
这段代码首先计算出从当前时间到下一个5分钟倍数所需等待的毫秒数,然后设置一个定时器,每隔5分钟(300秒)触发一次倒计时函数。在倒计时函数中,每次减去5分钟的时间,并打印剩余的秒数,直到倒计时结束。
阅读全文