几分钟到几天的转换代码错误
Error in conversion code for minutes to days
在这个网站上找到了这段可爱的代码,在它运行了超过 10,000 分钟之前,它一直运行得很好
function minToTime(duration) { /*Call function 2 */
var minutes = parseInt(duration%60)
, hours = parseInt((duration/(60))%24)
, days = parseInt((duration/(60*24))%7);
days = (days < 10) ? "0" + days : days;
hours = (hours < 10) ? "0" + hours : hours;
minutes = (minutes < 10) ? "0" + minutes : minutes;
return days + ":" + hours + ":" + minutes;
}
谁能帮我想办法解决这个问题?请记住,我是 javascript 的新手,只有非常基础的知识。
提前致谢
你可以像这样使用 COnvertmintoday(minutes);
函数 COnvertmintoday(newMinutes) {
minutes_day = 24 * 60
minutes = newMinutes;
days = Math.floor(minutes / minutes_day )
return days
}
在天数的计算中有一个 %7
潜伏,一定是加上了周数。
删除它,代码应该可以正常工作,或者也可以计算周数:
function minToTime(duration) { /*Call function 2 */
var minutes = parseInt(duration%60)
, hours = parseInt((duration/(60))%24)
, days = parseInt(duration/(60*24)); //remove %7
days = (days < 10) ? "0" + days : days;
hours = (hours < 10) ? "0" + hours : hours;
minutes = (minutes < 10) ? "0" + minutes : minutes;
return days + ":" + hours + ":" + minutes;
}
或者您可以使用它来获取周数:
function minToTime(duration) { /*Call function 2 */
var minutes = parseInt(duration%60)
, hours = parseInt((duration/(60))%24)
, days = parseInt(duration/(60*24)%7)
, weeks = parseInt(duration/(60*24*7));
days = (days < 10) ? "0" + days : days;
hours = (hours < 10) ? "0" + hours : hours;
minutes = (minutes < 10) ? "0" + minutes : minutes;
weeks = (weeks < 10) ? "0" + weeks : weeks;
return weeks + ":" + days + ":" + hours + ":" + minutes;
}
我认为您不需要执行 %7
来获取天数。如果您还想将天数汇总为数周,它可能只会有益。所以 13 天将变成 1 周零 6 天。
但我认为您不需要,因此更改以下代码就足够了:
var minutes = parseInt(duration%60)
, hours = parseInt((duration/(60))%24)
, days = parseInt((duration/(60*24)); //Don't need the %7 here
我整理了一个Jsfiddle来解释同样的问题。
在这个网站上找到了这段可爱的代码,在它运行了超过 10,000 分钟之前,它一直运行得很好
function minToTime(duration) { /*Call function 2 */
var minutes = parseInt(duration%60)
, hours = parseInt((duration/(60))%24)
, days = parseInt((duration/(60*24))%7);
days = (days < 10) ? "0" + days : days;
hours = (hours < 10) ? "0" + hours : hours;
minutes = (minutes < 10) ? "0" + minutes : minutes;
return days + ":" + hours + ":" + minutes;
}
谁能帮我想办法解决这个问题?请记住,我是 javascript 的新手,只有非常基础的知识。
提前致谢
你可以像这样使用 COnvertmintoday(minutes);
函数 COnvertmintoday(newMinutes) {
minutes_day = 24 * 60
minutes = newMinutes;
days = Math.floor(minutes / minutes_day )
return days
}
在天数的计算中有一个 %7
潜伏,一定是加上了周数。
删除它,代码应该可以正常工作,或者也可以计算周数:
function minToTime(duration) { /*Call function 2 */
var minutes = parseInt(duration%60)
, hours = parseInt((duration/(60))%24)
, days = parseInt(duration/(60*24)); //remove %7
days = (days < 10) ? "0" + days : days;
hours = (hours < 10) ? "0" + hours : hours;
minutes = (minutes < 10) ? "0" + minutes : minutes;
return days + ":" + hours + ":" + minutes;
}
或者您可以使用它来获取周数:
function minToTime(duration) { /*Call function 2 */
var minutes = parseInt(duration%60)
, hours = parseInt((duration/(60))%24)
, days = parseInt(duration/(60*24)%7)
, weeks = parseInt(duration/(60*24*7));
days = (days < 10) ? "0" + days : days;
hours = (hours < 10) ? "0" + hours : hours;
minutes = (minutes < 10) ? "0" + minutes : minutes;
weeks = (weeks < 10) ? "0" + weeks : weeks;
return weeks + ":" + days + ":" + hours + ":" + minutes;
}
我认为您不需要执行 %7
来获取天数。如果您还想将天数汇总为数周,它可能只会有益。所以 13 天将变成 1 周零 6 天。
但我认为您不需要,因此更改以下代码就足够了:
var minutes = parseInt(duration%60)
, hours = parseInt((duration/(60))%24)
, days = parseInt((duration/(60*24)); //Don't need the %7 here
我整理了一个Jsfiddle来解释同样的问题。