【发布时间】:2016-08-16 05:26:37
【问题描述】:
当我尝试将秒数转换为 hh:mm:ss 格式时,我的小时数超过了两个字符。
var seconds = 4287050531;
var getTime = formatTime(seconds);
console.log("Time Is :"+getTime);// 1190847:22:11
function formatTime(seconds) {
return [pad(Math.floor(seconds/3600)),
pad(Math.floor(seconds/60)%60),
pad(seconds%60),
].join(":");
}
function pad(num) {
if(num < 10) {
return "0" + num;
} else {
return "" + num;
}
}
【问题讨论】:
-
你想达到什么结果?截断超过 24 小时的任何时间?
-
我也使用了 24 但显示错误的结果,函数 formatTime(seconds) { return [pad(Math.floor(seconds/3600)%24), pad(Math.floor(seconds/60)% 60), pad(秒%60), ].join(":"); }
-
预期结果是什么
-
@shreyaS 告诉我们您的预期结果应该是什么。因为通常这种格式用于显示一天的时间,所以一天中的最大秒数可以是
60*60*24,即86400,但你的第二个变量超过了这个值。所以这就是为什么你的小时数超过了两个字符。 -
在您的示例中,小时绝对可以 > 99,因为输入以秒为单位,而 input/3600 可以是任何基于您输入的数字。
标签: javascript jquery node.js time momentjs