计算elasped的时间并将其以天:小时:分钟:秒的格式表示,在javascript中,时间流逝每秒钟更新一次
我试图计算设置日期时间对象和当前时间之间经过的时间。我希望它能够以这种格式显示DD:HH:MM:SS,其中DD是天,HH是小时,MM是分钟,SS是秒。我能够获得总的天,总的小时,总的分钟和总的秒,但我不确定如何以我想要的方式格式化它。请帮忙计算elasped的时间并将其以天:小时:分钟:秒的格式表示,在javascript中,时间流逝每秒钟更新一次,javascript,datetime,elapsedtime,Javascript,Datetime,Elapsedtime,我试图计算设置日期时间对象和当前时间之间经过的时间。我希望它能够以这种格式显示DD:HH:MM:SS,其中DD是天,HH是小时,MM是分钟,SS是秒。我能够获得总的天,总的小时,总的分钟和总的秒,但我不确定如何以我想要的方式格式化它。请帮忙 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>timer</title>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>timer</title>
</head>
<body >
<div id ="time" name ="timer"></div>
<script>
var myVar = setInterval(myTimer, 1000);
function myTimer() {
let seconds = 1000 ;
let minutes = seconds * 60;
let hours = minutes * 60;
let days = hours * 24;
let years = days * 365;
const startDateTime = new Date("June 2, 2019 12:36:10 AM");
const newDateTime = new Date();
let timeDiff = newDateTime - startDateTime;
let totalSeconds = Math.round(timeDiff/seconds);
document.getElementById("time").innerHTML = totalSeconds;
}
</script>
</body>
</html>
计时器
var myVar=setInterval(myTimer,1000);
函数myTimer(){
设秒=1000;
分钟=秒*60;
小时=分钟*60;
天数=小时*24;
年=天*365;
const startDateTime=新日期(“2019年6月2日12:36:10上午”);
const newDateTime=新日期();
设timeDiff=newDateTime-startDateTime;
让totalSeconds=数学轮(timeDiff/秒);
document.getElementById(“time”).innerHTML=totalSeconds;
}
我建议您使用类似的库,但如果您想在纯Javascript中执行此操作,您可以将总秒数除以您已经定义的除法参数,并在小于10秒时用零填充
var myVar=setInterval(myTimer,1000);
常数秒=1000;
常数分钟=秒*60;
常数小时=分钟*60;
持续天数=小时*24;
常数年=天*365;
函数myTimer(){
const startDateTime=新日期(“2019年6月2日12:36:10上午”);
const newDateTime=新日期();
让elapsedmillesons=newDateTime-startDateTime;
document.getElementById(“时间”).innerHTML=
`${formattelapsedtime(elapsedmillesons,days)}:${formattelapsedtime(elapsedmillesons,hours,24)}:${formattelapsedtime(elapsedmillesons,minutes,60)}:${formattelapsedtime(elapsedmillesons,seconds,60)};
}
函数格式elapsedtime(elapsedtime、时间单位、基数){
让时间=基数?(elapsedtime/timeunit)%base:elapsedtime/timeunit;
时间=数学。楼层(时间);
时间=时间<10?'0'+时间:时间;
返回时间;
}
计时器
你遇到过这个吗?它为你的汉克们做了所有艰苦的工作。该函数格式化数据,但不计算经过的时间properly@user8964654你说得对,我用的是过去的秒,而我应该用过去的毫秒。现在应该可以正常工作了,没问题!如果你的问题解决了,你可以让其他人知道问题得到了回答。