Ich muss Sekunden in "Stunde:Minute:Sekunde" umrechnen.
Zum Beispiel: "685" umgewandelt in "00:11:25"
Wie kann ich das erreichen?
Ich muss Sekunden in "Stunde:Minute:Sekunde" umrechnen.
Zum Beispiel: "685" umgewandelt in "00:11:25"
Wie kann ich das erreichen?
Eine Stunde dauert 3600 Sekunden, eine Minute 60 Sekunden, warum also nicht:
<?php
$init = 685;
$hours = floor($init / 3600);
$minutes = floor(($init / 60) % 60);
$seconds = $init % 60;
echo "$hours:$minutes:$seconds";
?>
die produziert:
$ php file.php
0:11:25
(Ich habe dies nicht viel getestet, so kann es Fehler mit dem Boden oder so sein)
Funktion verwenden gmdate()
nur wenn die Sekunden kleiner sind als 86400
(1 Tag) :
$seconds = 8525;
echo gmdate('H:i:s', $seconds);
# 02:22:05
Siehe: gmdate()
Sekunden in das Format "Fuß" umrechnen keine Begrenzung* :
$seconds = 8525;
$H = floor($seconds / 3600);
$i = ($seconds / 60) % 60;
$s = $seconds % 60;
echo sprintf("%02d:%02d:%02d", $H, $i, $s);
# 02:22:05
Siehe: floor() , sprintf() , arithmetische Operatoren
Beispiel für die Verwendung von DateTime
Erweiterung:
$seconds = 8525;
$zero = new DateTime("@0");
$offset = new DateTime("@$seconds");
$diff = $zero->diff($offset);
echo sprintf("%02d:%02d:%02d", $diff->days * 24 + $diff->h, $diff->i, $diff->s);
# 02:22:05
Siehe: DateTime::__construct() , DateTime::modify() , klonen. , sprintf()
MySQL-Beispiel Der Bereich des Ergebnisses ist auf den des Datentyps TIME beschränkt, der von -838:59:59
a 838:59:59
:
SELECT SEC_TO_TIME(8525);
# 02:22:05
Siehe: SEC_TO_TIME
PostgreSQL-Beispiel:
SELECT TO_CHAR('8525 second'::interval, 'HH24:MI:SS');
# 02:22:05
Andere Lösungen verwenden gmdate
, scheitert aber in Grenzfällen, in denen mehr als 86400 Sekunden zur Verfügung stehen. Um dies zu umgehen, können wir einfach die Anzahl der Stunden selbst berechnen und dann gmdate
die verbleibenden Sekunden in Minuten/Sekunden umrechnen.
echo floor($seconds / 3600) . gmdate(":i:s", $seconds % 3600);
Eingabe: 6030
Ausgabe: 1:40:30
Eingabe: 2000006030
Ausgabe: 555557:13:50
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.