Ich verwende Google-Tabellen, wo es eine Dauer von 69:41:00 gibt, wo es 69 Stunden, 41 Minuten, 0 Sekunden ist. Es scheint keine Funktion zu geben, diese in Tage, Stunden und Minuten umzuwandeln, also habe ich etwas gesucht und einige hatten eine benutzerdefinierte Funktion vorgeschlagen. Ich bin mir nicht sicher, wie es genau funktioniert, aber ich habe einige Änderungen vom Original vorgenommen, um zu passen, was ich brauchte. Der folgende Code:Wie erhalte ich die Anzahl der Tage für eine Dauer, in der die Anzahl der Stunden in Google Tabellen 24 Stunden überschreitet?
/**
* 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;
}
Das Ergebnis sollte 44 2d 21h min sein, sondern ich bekam 0T 21 h 35 min. Mache ich hier etwas falsch?
Diese Art von Arbeiten. Ich habe '2d 13h 38 min' für '61: 44: 00 '. Ich versuchte für andere Werte und die Minuten scheinen immer 6 Minuten weniger zu sein. Irgendeine Idee warum? Könnten Sie auch erklären, was der Zweck von '(duration.getDate() + 2)' und 'date.getDate() - 1' dafür ist? – Scar
Danke für die Annahme der Antwort. Hm, ich habe kein Problem mit den Minuten. Wie auch immer, werde eine Erklärung von +2 und -1 zu meiner Antwort hinzufügen. –