Javascript 转换;“秒表”;按小时计费的时间
我有一个内置于JS中的秒表计时器,它从0开始计时,使用小时、分钟、秒和毫秒。当前,当用户点击“停止”按钮时,来自计时器的值将附加到隐藏的输入元素,以便提交表单。我需要将任何时间转换为每小时一次,并将其附加到隐藏输入的位置。所以现在如果我的时钟停在25分00秒,输入的值是00:25:00,我想把时间转换成.25(小时) 例如,在30分钟内,添加到隐藏输入的值为.5,在45分钟内为.75,依此类推 这是stopwatch脚本,Stop函数是将值附加到隐藏输入的地方,只需确保它转换为每小时一次Javascript 转换;“秒表”;按小时计费的时间,javascript,Javascript,我有一个内置于JS中的秒表计时器,它从0开始计时,使用小时、分钟、秒和毫秒。当前,当用户点击“停止”按钮时,来自计时器的值将附加到隐藏的输入元素,以便提交表单。我需要将任何时间转换为每小时一次,并将其附加到隐藏输入的位置。所以现在如果我的时钟停在25分00秒,输入的值是00:25:00,我想把时间转换成.25(小时) 例如,在30分钟内,添加到隐藏输入的值为.5,在45分钟内为.75,依此类推 这是stopwatch脚本,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>
var clsStopwatch=函数(){
var startAt=0;
var lapTime=0;
var now=函数(){
return(新日期()).getTime();
};
this.start=函数(){
startAt=startAt?startAt:now();
};
this.stop=函数(){
lapTime=startAt?lapTime+now()-startAt:lapTime;
startAt=0;
};
this.time=函数(){
返回lapTime+(startAt?now()-startAt:0);
};
};
var x=新的clsStopwatch();
var$时间;
无功时钟;
功能板(数量、大小){
var s=“0000”+num;
返回s.substr(s.length-size);
}
函数格式化时间(time){
var h=m=s=ms=0;
var newTime='';
h=数学下限(时间/(3600*1000));
时间=时间%(3600*1000);
m=数学楼层(时间/(60*1000));
时间=时间%(60*1000);
s=数学楼层(时间/1000);
ms=时间%1000;
newTime=pad(h,2)+':'+pad(m,2)+':'+pad(s,2);
//newTime=pad(h,2)+':'+pad(m,2)+':'+pad(s,2)+':'+pad(ms,2);
返回新时间;
}
函数show(){
$time=document.getElementById('time');
更新();
}
函数更新(){
$time.innerHTML=formatTime(x.time());
}
函数start(){
时钟计时器=设置间隔(“更新()”,1);
x、 start();
}
函数停止(){
x、 停止();
document.getElementById('counter')。value=formatTime(x.time());
clearInterval(时钟计时器);
}
如果我正确理解您的需求,这就是您的解决方案:
function millisecondsToHours(amountMS) {
return amountMS / 3600000;
}
把分钟数除以60?我还需要计算秒数。我将信息发送到每小时请求格式的API,基本上将用作项目任务计时器,因此任何一点都有帮助:)我只是数学不好..一秒是1/3600小时。可以显示一种格式并发送另一种格式