如何在时间转换器功能中仅获得前两位秒数
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
(或let
、const
)使任何新引入的变量成为本地变量。
【讨论】:
以上是关于如何在时间转换器功能中仅获得前两位秒数的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Pyspark 中将秒数从 Epoch 时间转换为 UTC 时间?