我正在尝试格式化时间。我有一个返回秒,分钟和小时的函数,但我的分钟有问题。在分钟达到60后,我想将分钟时间重置为0并重新启动时钟。有什么想法吗?
function formatTime(seconds) {
hours = Math.floor((seconds / 60) / 60);
hours = (hours >= 10) ? minutes : "0" + hours;
minutes = Math.floor(seconds / 60);
minutes = (minutes >= 10) ? minutes : "0" + minutes;
seconds = Math.floor(seconds % 60);
seconds = (seconds >= 10) ? seconds : "0" + seconds;
if (duration >= hours) {
return hours + ":" + minutes + ":" + seconds;
} else {
return minutes + ":" + seconds;
}
}
如果您有任何其他问题,请与我们联系。此功能用于格式化音频片段的持续时间计数器。
答案 0 :(得分:0)
您应该执行以下操作:
hours * 60 * 60
seconds
minutes * 60
seconds
顺便说一句,对于时间和日期计算,我绝对推荐MomentJS。
答案 1 :(得分:0)
谢谢你所有的帮助。基于许多建议,我将着眼于使用momentjs。然而,在其中一些帖子的帮助下,我还设法让我的格式时间功能起作用。它现在做我需要的,看起来像这样:
function formatTime(seconds) {
hours = Math.floor((seconds / 3600));
hours = (hours >= 10) ? minutes : "0" + hours;
minutes = Math.floor((seconds - (hours * 3600)) / 60);
minutes = (minutes >= 10) ? minutes : "0" + minutes;
seconds = Math.floor(seconds - hours * 3600) - (minutes * 60);
seconds = (seconds >= 10) ? seconds : "0" + seconds;
if (duration >= hours) {
return hours + ":" + minutes + ":" + seconds;
} else {
return minutes + ":" + seconds;
}
}