gpt4 book ai didi

javascript - 在计时器中以两位数显示小时、分钟和秒

转载 作者:行者123 更新时间:2023-12-01 01:46:25 26 4
gpt4 key购买 nike

我正在使用 JavaScript 通过以下代码显示我的网站上经过的总时间。

它工作正常......但问题是当秒= 0时,它的字段为空,当秒和分钟在1到9之间时,它显示一位数字。相反,我想显示如下

if 59 seconds then == 00:00:59 (curretnly showing 59)
if 62 seconds then == 00:01:02 (currently showing 1:2)
if 70 seconds then == 00:01:10 (currently showing 1:10)
if 3640 seconds then == 01:00:40 (currently showing 1:0:40)

我的意思是显示的字段应该用

修复

00:00:00 (hh:mm:ss)

格式

javascript代码使用如下:

var timeStamp = Date.now(),
sessionStamp = sessionStorage.getItem('ts'),
elapsedTime;
if (!sessionStamp) {
sessionStorage.setItem('ts', timeStamp.toString());
sessionStamp = timeStamp;
} else {
sessionStamp = parseInt(sessionStamp);
}

function increment() {
elapsedTime = Date.now() - sessionStamp;
d1= Math.round(elapsedTime / 1000).toString();
d = Number(d1);
var h = Math.floor(d / 3600);
var m = Math.floor(d % 3600 / 60);
var s = Math.floor(d % 3600 % 60);

var hDisplay = h > 0 ? h + (h == 1 ? ":" : ":") : "";
var mDisplay = m > 0 ? m + (m == 1 ? ":" : ":") : "";
var sDisplay = s > 0 ? s + (s == 1 ? "0" : "") : "";

document.getElementById('elapsedTime').textContent = hDisplay + mDisplay + sDisplay;
}
setInterval(increment, 1000);

<强> JSFIDDLE

最佳答案

我已经更新了 JS fiddle http://jsfiddle.net/03L9pcm2/

这是我改变的内容

var hDisplay = h > 0 ? (h < 10 ? "0" + h + ":" : h + ":") : "00:";
var mDisplay = m > 0 ? (m < 10 ? "0" + m + ":" : m + ":") : "00:";
var sDisplay = s > 0 ? (s < 10 ? "0" + s : s) : "00";

关于javascript - 在计时器中以两位数显示小时、分钟和秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51915793/

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