jjs页面时钟从指定时间17:46:20开始不断计时
时间: 2024-09-26 13:09:31 浏览: 25
在JavaScript中,你可以创建一个简单的定时器(setInterval)来模拟一个页面时钟,从指定的时间点如17:46:20开始计时。这里是一个基本的例子:
```javascript
// 设定初始时间和间隔(例如1秒)
var initialTime = "17:46:20";
var intervalTime = 1000; // 单位毫秒
// 将字符串转换成时间戳
function getTimeFromStr(timeStr) {
var dateParts = timeStr.split(':').map(Number);
return Date.now() + (dateParts[0] * 3600 * 1000) + (dateParts[1] * 60 * 1000) + dateParts[2] * 1000;
}
// 当前时间
var currentTime = new Date();
// 指定的开始时间
var startTime = getTimeFromStr(initialTime);
// 计算需要等待的时间差
var waitTime = startTime - currentTime;
// 开始计时
setTimeout(function() {
var displayTime = formatTime(currentTime); // 格式化当前时间
console.log(displayTime);
// 更新定时器
setInterval(function() {
currentTime = new Date();
if (currentTime >= startTime) {
clearInterval(this.intervalId); // 结束计时,防止无限循环
} else {
displayTime = formatTime(currentTime);
console.log(displayTime);
}
}, intervalTime, this);
}, waitTime);
// 时间格式化函数
function formatTime(date) {
return date.getHours() + ':' + padZero(date.getMinutes()) + ':' + padZero(date.getSeconds());
}
// 添加0到单数的前导零
function padZero(num) {
return num < 10 ? '0' + num : num;
}
```
这个脚本会先计算出从现在到指定时间之间的延迟,然后在指定时间过后开始每隔一秒更新一次当前时间,并打印出来。当到达指定时间时,定时器会被停止。
阅读全文