Heim >Backend-Entwicklung >PHP-Tutorial >Wie konvertiere ich HH:MM:SS (oder MM:SS) Zeitzeichenfolgen in Gesamtsekunden?
Konvertieren von Zeitzeichenfolgen im HH:MM:SS-Format in Sekunden
Problem:
Wie können Sie eine Zeitzeichenfolge im Format HH:MM:SS in eine flache Sekundenzahl umwandeln? Die Zeitzeichenfolge kann manchmal nur im Format MM:SS vorliegen.
Lösung:
Methode 1: Verwendung regulärer Ausdrücke
Um die Zeitzeichenfolge zu konvertieren, ohne sie aufzuteilen, verwenden Sie Folgendes Code:
$str_time = "23:12:95"; $str_time = preg_replace("/^([\d]{1,2})\:([\d]{2})$/", "00::", $str_time); sscanf($str_time, "%d:%d:%d", $hours, $minutes, $seconds); $time_seconds = $hours * 3600 + $minutes * 60 + $seconds;
Methode 2: Verwenden von sscanf()
Wenn reguläre Ausdrücke nicht bevorzugt werden, verwenden Sie den folgenden Code:
$str_time = "2:50"; sscanf($str_time, "%d:%d:%d", $hours, $minutes, $seconds); $time_seconds = isset($seconds) ? $hours * 3600 + $minutes * 60 + $seconds : $hours * 60 + $minutes;
Überprüfen Sie bei der zweiten Methode, ob die Sekundenvariable so eingestellt ist, dass Zeitzeichenfolgen im MM:SS-Format korrekt verarbeitet werden.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich HH:MM:SS (oder MM:SS) Zeitzeichenfolgen in Gesamtsekunden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!