如何在时间转换器功能中仅获得前两位秒数

Posted

技术标签:

【中文标题】如何在时间转换器功能中仅获得前两位秒数【英文标题】:How to get only first two digits of seconds in a time converter function 【发布时间】:2017-06-09 19:56:09 【问题描述】:

我有以下函数,将秒转换为小时、分钟和秒,问题是,输出的第二部分有时是很长的数字,例如01:10:20453578970。 我想为每个部分将其修剪为两位数,例如01:10:20

function getReadableTime(value) 
  hours = Math.floor(value / 3600);
  value %= 3600;
  minutes = Math.floor(value / 60);
  seconds = value % 60;
  return hours + ":" +minutes+ ":" +seconds;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

知道怎么解决吗?

【问题讨论】:

什么值会导致这种情况发生? seconds.toString().slice(0,2) jQuery 和这个有什么关系?你能提供一个产生输出的sn-p吗? @adeneo 感谢您的解决方案。如果您提交答案,我可以批准。 【参考方案1】:

您的函数无法返回 60 或更多的秒数。我想你说的是确实可以超过 2 位数的小时数。

要获取自午夜以来的小时数(例如,而不是自 1970 年以来),请在函数开头再添加一条语句:

function getReadableTime(value) 
    // truncate value, and only count since midnight
    value = Math.floor(value) % (3600*24);
    var hours = Math.floor(value / 3600);
    value %= 3600;
    var minutes = Math.floor(value / 60);
    var seconds = value % 60;
    // prefix single digits with a zero
    return (hours + ":" + minutes + ":" + seconds).replace(/\b\d\b/g, '0$&');


var elapsed = getReadableTime(1497031554);
console.log(elapsed);

注意:始终使用var(或letconst)使任何新引入的变量成为本地变量。

【讨论】:

以上是关于如何在时间转换器功能中仅获得前两位秒数的主要内容,如果未能解决你的问题,请参考以下文章

php如何获得昨天23:59:59的时间戳

excel把秒数转换成日期,时间戳格式化日期

如何在 Pyspark 中将秒数从 Epoch 时间转换为 UTC 时间?

怎么将秒数转换为时间

Pandas - Python 2.7:如何将时间序列索引转换为一天中的秒数?

Visual C++ 如何将日期时间转换为自 1970 年以来的秒数