我想找出一个公式来计算一个小时的分数。我想把一个小时分成六分钟的间隔。这意味着我将有下表:
Input Output
----- ------
5 hrs 0 mins 5.0
5 hrs 1 min 5.0
5 hrs 2 mins 5.0
5 hrs 3 mins 5.0
5 hrs 4 mins 5.1
5 hrs 5 mins 5.1
5 hrs 6 mins 5.1
5 hrs 7 mins 5.1
5 hrs 8 mins 5.1
5 hrs 9 mins 5.1
5 hrs 10 mins 5.2
5 hrs 11 mins 5.2
5 hrs 12 mins 5.2
5 hrs 13 mins 5.2
5 hrs 14 mins 5.2
5 hrs 15 mins 5.2
5 hrs 16 mins 5.3
...
目前,我有以下内容:
var d = new Date();
var h = d.getHours();
var m = d.getMinutes();
var fraction = Math.floor(m / 60);
var result = h + '.' + fraction;
小数部分工作不正常。关于舍入等问题,我不确定在这种情况下如何处理。如果有人能帮我解决这个问题,我将不胜感激。
谢谢!
最佳答案
您必须应用一些逻辑才能正确地 format a duration with javascript .逻辑需要考虑一个小时的最后几分钟。以下应该适合您:
function FormatDuration(duration) {
// Retrieve the hours and minutes
var hrs = duration.getHours();
var mins = duration.getMinutes();
// Convert the minutes to a fraction of an hour.
var tenths = ((mins / 60).toFixed(1) * 10);
if (tenths === 10) {
tenths = 0;
hrs = hrs + 1;
}
return hrs + '.' + tenths;
}
关于javascript - JavaScript 中的舍入时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27129248/