Problem:
Bei der Berechnung der Zeit Um die Differenz zwischen zwei Datums- und Uhrzeitangaben mithilfe von TIMEDIFF(end_time, start_time) in MySQL zu ermitteln, wird das Ergebnis in einem Format wie „116:12:10“ zurückgegeben, das Stunden, Minuten und Sekunden angibt. Das gewünschte Format ist jedoch „4 Tage 20 Stunden, 12 Minuten usw.“
Lösung:
Um das gewünschte Format zu erreichen, können Sie die folgende Abfrage verwenden :
<code class="sql">SELECT CONCAT( FLOOR(HOUR(TIMEDIFF(`end_time`, `start_time`)) / 24), ' days ', MOD(HOUR(TIMEDIFF(`end_time`, `start_time`)), 24), ' hours ', MINUTE(TIMEDIFF(`end_time`, `start_time`)), ' minutes')</code>
Beispielverwendung:
Ersetzen Sie end_time und start_time durch Ihre spezifischen Datums- und Uhrzeitangaben:
<code class="sql">SELECT CONCAT( FLOOR(HOUR(TIMEDIFF('2023-03-08 12:34', '2023-03-01 16:45')) / 24), ' days ', MOD(HOUR(TIMEDIFF('2023-03-08 12:34', '2023-03-01 16:45')), 24), ' hours ', MINUTE(TIMEDIFF('2023-03-08 12:34', '2023-03-01 16:45')), ' minutes')</code>
Hinweis:
Diese Lösung ist nur für Zeitunterschiede innerhalb von 35 Tagen geeignet. Wenn Sie mit Zeitunterschieden von mehr als 35 Tagen rechnen, sollten Sie stattdessen die Verwendung von TIMESTAMPDIFF in Betracht ziehen.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich MySQL TIMEDIFF-Ergebnisse in das Tages-, Stunden-, Minuten- und Sekundenformat?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!