这是一个常见的问题,但我不确定如何解决。下面的代码工作正常。
var mind = time % (60 * 60); var minutes = Math.floor(mind / 60); var secd = mind % 60; var seconds = Math.ceil(secd);
但是,当我到达1小时或3600秒时,它将返回0分0秒。我如何避免这种情况,让它返回所有分钟?
谢谢
要获得完整的分钟数,请将总秒数除以60(60秒/分钟):
var minutes = Math.floor(time / 60);
要获得剩余的秒数,请将整分钟乘以60并从总秒数中减去:
var seconds = time - minutes * 60;
现在,如果您还希望获得完整的小时数,请先将总秒数除以3600(60分钟/小时·60秒/分钟),然后计算剩余的秒数:
var hours = Math.floor(time / 3600); time = time - hours * 3600;
然后,您可以计算完整的分钟数和剩余的秒数。
奖金:
使用以下代码漂亮地打印时间(由Dru建议)
function str_pad_left(string,pad,length) { return (new Array(length+1).join(pad)+string).slice(-length); } var finalTime = str_pad_left(minutes,'0',2)+':'+str_pad_left(seconds,'0',2);