gpt4 book ai didi

javascript - 将 "stopwatch"时间转换为每小时

转载 作者:行者123 更新时间:2023-12-02 16:59:50 31 4
gpt4 key购买 nike

我有一个用 JS 内置的秒表计时器,它使用小时、分钟、秒和毫秒从 0 开始计数。目前,当用户点击停止按钮时,计时器的值将附加到隐藏的输入元素以进行表单提交。我需要将任何时间转换为每小时,并将其附加到隐藏输入中。所以现在如果我的时钟停止在 25 分 00 秒,输入中的值为 00:25:00,我希望它将时间转换为 0.25(小时)之类的值

例如,在 30 分钟内附加到隐藏输入的值将为 0.5,在 45 分钟内将为 0.75,依此类推,依此类推。

这是秒表脚本,Stop 函数是将值附加到隐藏输入的地方,只需确保将其转换为每小时

<script type="text/javascript">
var clsStopwatch = function () {

var startAt = 0;
var lapTime = 0;

var now = function () {
return (new Date()).getTime();
};

this.start = function () {
startAt = startAt ? startAt : now();
};

this.stop = function () {
lapTime = startAt ? lapTime + now() - startAt : lapTime;
startAt = 0;
};

this.time = function () {
return lapTime + (startAt ? now() - startAt : 0);
};
};

var x = new clsStopwatch();
var $time;
var clocktimer;

function pad(num, size) {
var s = "0000" + num;
return s.substr(s.length - size);
}

function formatTime(time) {
var h = m = s = ms = 0;
var newTime = '';

h = Math.floor(time / (3600 * 1000));
time = time % (3600 * 1000);
m = Math.floor(time / (60 * 1000));
time = time % (60 * 1000);
s = Math.floor(time / 1000);
ms = time % 1000;

newTime = pad(h, 2) + ':' + pad(m, 2) + ':' + pad(s, 2);
//newTime = pad(h, 2) + ':' + pad(m, 2) + ':' + pad(s, 2) + ':' + pad(ms, 2);
return newTime;
}

function show() {
$time = document.getElementById('time');
update();
}

function update() {
$time.innerHTML = formatTime(x.time());
}

function start() {
clocktimer = setInterval("update()", 1);
x.start();
}

function stop() {
x.stop();
document.getElementById('counter').value = formatTime(x.time());
clearInterval(clocktimer);
}
</script>

最佳答案

如果我正确理解您的需要,这就是您的解决方案:

function millisecondsToHours(amountMS) {
return amountMS / 3600000;
}

关于javascript - 将 "stopwatch"时间转换为每小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25834202/

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