String in Sekunden mit PHP, wie man einen „: MM SS HH“ konvertieren?
-
25-09-2019 - |
Frage
Gibt es eine native Möglichkeit "HH:MM:SS" to seconds
mit PHP 5.3 zu tun, anstatt zu tun einer Spaltung auf dem Doppelpunkt und multipling aus jedem Abschnitt die entsprechende Anzahl die Sekunden zu berechnen?
Zum Beispiel in Python können Sie tun:
string time = "00:01:05";
double seconds = TimeSpan.Parse(time).TotalSeconds;
Lösung
Der schnelle Weg:
echo strtotime('01:00:00') - strtotime('TODAY'); // 3600
Andere Tipps
Das sollte es tun:
list($hours,$mins,$secs) = explode(':',$time);
$seconds = mktime($hours,$mins,$secs) - mktime(0,0,0);
Ich denke, die einfachste Methode zu verwenden strtotime()
Funktion wäre:
$time = '21:30:10';
$seconds = strtotime("1970-01-01 $time UTC");
echo $seconds;
date_parse()
kann auch für das Parsen von Datum und Zeit verwendet werden:
$time = '21:30:10';
$parsed = date_parse($time);
$seconds = $parsed['hour'] * 3600 + $parsed['minute'] * 60 + $parsed['second'];
Leider nicht -. Als PHP nicht stark ist getippt es gibt kein Konzept einer Zeitart und daher keine Mittel zwischen einer solchen Schnur und einem „Sekunden“ Wert
konvertierenAls solche in der Praxis die Menschen oft die Zeichenfolge aufgeteilt und multiplizieren jedem Abschnitt, wie Sie erwähnt.