function TimeConvert(num) {
for (i = 0; i < num; i+= 60) {
if (num % 60 < 60) {
var hours = Math.floor(i / 60);
if (hours == 0) {
var minutes = num % 60;
} else {
minutes = num % (60 * hours);
}
}
}
return hours + ":" + minutes;
}
当我致电TimeConvert(60)
时,它会返回0:0
而不是1:0
...为什么?在这种情况下,是否必须添加条件以检查是否num % 60 == 0
?
答案 0 :(得分:5)
为什么需要迭代?
function TimeConvert(num) {
var hours = Math.floor( num / 60 );
var minutes = num % 60;
//minutes = minutes < 10 ? '0'+minutes:minutes
return hours + ":" + minutes;
}
答案 1 :(得分:3)
问题在于i < num
,而应该是i <= num
。
您的for
仅在i=0
时执行一次,因为在下一步i
获得+60且i < num
变为false。
而且,无论如何,整个功能应该是:
function TimeConvert(num) {
var hours = Math.floor(num / 60);
var minutes = num % 60;
return hours + ":" + minutes;
}