Javascript 如何正确设置时间格式
我正在努力安排时间。我有一个返回秒、分钟和小时的函数,但我对分钟有一个问题。在分钟到达60后,我想将分钟时间重置为0并重新启动时钟。有什么想法吗Javascript 如何正确设置时间格式,javascript,jquery,time,Javascript,Jquery,Time,我正在努力安排时间。我有一个返回秒、分钟和小时的函数,但我对分钟有一个问题。在分钟到达60后,我想将分钟时间重置为0并重新启动时钟。有什么想法吗 function formatTime(seconds) { hours = Math.floor((seconds / 60) / 60); hours = (hours >= 10) ? minutes : "0" + hours; minutes = Math.floor(seconds / 60); minutes = (
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;
}
}
如果你还有其他问题,请告诉我。此功能用于格式化音频剪辑的持续时间计数器。您应执行以下操作:
- 计算时间
- 从
秒中减去
小时*60*60
- 数分钟
- 从
seconds
- 剩下的是秒
顺便说一下,对于时间和日期的计算,我绝对推荐。谢谢大家的帮助。基于许多建议,我将考虑使用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;
}
}
除非这是课程,否则我建议使用诸如或之类的图书馆。JS中的日期争拗是一个巨大的痛苦。若你们对库并没有限制,那个么看看重复的,或者最好的方法就是使用一个库。如果您想使用提供的代码片段自己制作,请从初始秒数中减去小时和分钟。小时=
Math.floor(秒/3600)
,分钟=Math.floor(秒-(小时*3600))
等。