Heim >Backend-Entwicklung >PHP-Tutorial >Wie konvertiere ich HH:MM:SS (oder MM:SS) Zeitzeichenfolgen in Gesamtsekunden?

Wie konvertiere ich HH:MM:SS (oder MM:SS) Zeitzeichenfolgen in Gesamtsekunden?

Barbara Streisand
Barbara StreisandOriginal
2024-12-08 08:25:12414Durchsuche

How to Convert HH:MM:SS (or MM:SS) Time Strings to Total Seconds?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn