如何正确设置时间

How to format time properly

本文关键字:时间 设置 何正确      更新时间:2023-09-26

我正在尝试格式化时间。我有一个返回秒、分和小时的函数,但是我对分钟有一个问题。在分钟到达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;
  }
}
如果你有任何问题,请告诉我。此函数用于格式化音频剪辑的持续时间计数器。

你应该这样做:

  • 计算小时数
  • seconds减去hours * 60 * 60
  • 计数分钟
  • seconds减去minutes * 60
  • 其余的是秒

顺便说一下,对于时间和日期的计算,我绝对推荐MomentJS。

谢谢大家的帮助。基于许多建议,我将期待使用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;
  }
}