正计时是从 0 开始向上累加的计时方式,显示自开始以来经过的时间,没有固定终点,常用于记录学习时长、会议用时、运动时间等。下面说明规则与细节。
正计时详解
正计时开始时记录起点 start,暂停时记录已累计的时长,继续时以新的起点继续计算。显示值 = 已累计时长 + (现在 − 本次起点)。用 performance.now() 取单调时钟,可以避免系统时间被调整时出现跳变。
- 从 0 开始向上计数
- 暂停不清零,重置才清零
- 时长按 60 进位:60 秒为 1 分,60 分为 1 小时
- 超过 24 小时时继续累加小时数
- 记录时连同开始时间一起保存
示例
输入:开始 11-01 04:20:40,结束 11-01 11:23:00
计算结果:已用时 07:02:20(共 25340 秒)
说明:跨过午夜时要带上日期一起相减,不能只用时分秒直接相减。
核心要点
- 已用时间 = 当前时刻 − 开始时刻 − 暂停的总时长
- 显示格式一般为 时:分:秒,必要时带毫秒
- 跨过午夜时要连同日期一起计算
- 暂停时记录暂停时长,继续后扣除
- 网页实现应基于时间差而不是累加次数
相关标准
计时显示遵循 ISO 8601 的时长表示习惯,例如 1 小时 30 分可写作 01:30:00 或 PT1H30M。体育比赛的正式计时由专门的电子计时设备完成,网页计时只适合日常用途。
JavaScript 示例
下面是用 JavaScript 实现的写法,可以按需要修改:
let start = 0, acc = 0, running = false;
function toggle() {
if (running) { acc += performance.now() - start; }
else { start = performance.now(); }
running = !running;
}
function elapsedMs() {
return acc + (running ? performance.now() - start : 0);
}
本站的在线秒表工具可以直接在网页中使用,无需安装,适合快速得到和核对结果。
常见问题
【正计时和倒计时有什么区别?】正计时从 0 往上累加,倒计时从设定时长往下减,到零提醒。
【能计时超过 24 小时吗?】可以,小时数会继续累加。
【为什么和手机秒表差了一点?】两边开始按键的时刻不同,误差通常在零点几秒。
文中示例可以在本站对应工具中核对。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。