我正在使用谷歌表,其中有一个持续时间值为69:41:00,它是69小时41分钟0秒。似乎没有将此转换为日,小时和分钟的功能,所以我做了一些搜索,并且有人提出了自定义函数。不确定它是如何工作的,但是从原来的做了一些改变,以适应我所需要的。代码如下:如何获得谷歌表格中小时数超过24小时的天数?
/**
* Format Duration to Days,Hours,Minutes
*
* @param {duration} input value.
* @return Days,Hours,Minutes.
* @customfunction
*/
function FormatDuration(duration) {
// Retrieve the hours and minutes
var hrs = duration.getHours();
var days = Math.floor(hrs/24);
var hours = hrs % 24;
var mins = duration.getMinutes();
// Convert the result to a number to use in calculations
var result = days + 'd ' + hours + ' h '+ mins+' min';
return result;
}
结果应该是2D 21H 44分钟,而是我得到0D 21小时35分钟。我在这里做错了什么?
这类作品。 '61:44:00'得到'2d 13小时38分钟'。 我尝试了其他值,分钟似乎总是少了6分钟。任何想法为什么?另外,你能解释一下'(duration.getDate()+ 2)'和'date.getDate() - 1'的用途吗? – Scar
感谢您接受答案。嗯,我不记得会议记录的问题。无论如何,我的答案将添加+2和-1的解释。 –