Math 获得剩余时间
假设某件事以每小时5000次的速度发生,但仍有一些剩余(比如说2500次) 我如何获得剩余的小时、分钟和秒数 我想应该是这样的:Math 获得剩余时间,math,Math,假设某件事以每小时5000次的速度发生,但仍有一些剩余(比如说2500次) 我如何获得剩余的小时、分钟和秒数 我想应该是这样的: hour = floor(remaining / perHour) mins = floor(remaining % perHour / 60) secs = floor(remaining % perHour % 60) 但是,使用以下公式计算备份时返回的金额不正确 time = hour + (mins / 60) + (secs / 60 / 60) time
hour = floor(remaining / perHour)
mins = floor(remaining % perHour / 60)
secs = floor(remaining % perHour % 60)
但是,使用以下公式计算备份时返回的金额不正确
time = hour + (mins / 60) + (secs / 60 / 60)
time * perHour // 3472.2 - not 2500
时间应该更短,所以我显然计算错了。如果有人能解释我错在哪里,我将不胜感激
编辑:我知道这不是数学SE,但数学SE应该是高水平的数学,这是下一个最适合的
我想出了一个方法,但它可能不是最好的,所以我将把这个问题搁置一段时间
hour = floor(remaining / perHour)
mins = floor(remaining / perHour * 60) - hour * 60
secs = floor(remaining / perHour * 3600) - mins * 60 - hour * 3600
我们的问题是还有多少时间,我们知道这个过程的速度。毫无疑问,我们建立了一个速率(项目/分钟、项目/秒),并将剩余元素的数量除以速率。我们可以使用任何我们想要的时间单位,只要我们保持一致——就个人而言,我喜欢每秒的速率,因为
Hz
演示
函数getRemainingTime(重新定义){
const processrate per hour=5000;
const processRate=(processratephour/60/60);//每秒1.3888
remainingSeconds=remainingItems/processRate;
返回{
小时:(剩余秒/3600),
分钟:(剩余秒/60),
秒数:剩余秒数
};
}
功能显示进度(剩余项目){
var time=getRemainingTime(remainingItems);
var list=document.createElement('ul');
var processEnd=moment().add(time.seconds,'s');
list.innerHTML=`
还有${remainingItems},我们将完成${processEnd.fromNow()}。
- 剩余小时数:${time.Hours}
- 剩余分钟数:${time.Minutes}
- 剩余秒数:${time.Seconds}
`;
文件.正文.附件(列表);
}
//让我们试试看!
showProgress(4999);
showProgress(2500);
显示进度(100)代码>
正文{
字体系列:“Helvetica”,无衬线;
}
请接受我的回答代码>我正在尝试以小时、分钟和秒为单位获取剩余时间。不是每秒的速率。请阅读问题或解释你的意思。我没有时间。只有小时工资和剩余金额。更改答案以反映。这可能比你想象的要简单。我们所需要做的就是将剩余项目的数量除以比率。我们很自豪地发布了“请接受我的答案”的测试版,这是一个简单的香草JS应用程序,告诉您流程中还有多少时间。“编辑:我知道这不是数学SE,但数学SE应该用于高级数学,这是第二个最适合的。”StackOverflow绝对不是合适的网站。我投票结束这个问题,因为它是关于编程或软件开发的,而不是关于主题。