2017-05-24 2 views
0

Ich möchte das H halten: i: s-Format, so jedoch 10.52.20, wenn ich versuche:PHP Minus Zeit in Format

$timeleft = strtotime($time1)-strtotime($time2); 

ich so etwas wie 4521

ich möchte Ergebnis, um das Format beizubehalten. Gibt es eine Möglichkeit, dies zu tun?

Antwort

-1

Sie können Datumsfunktion von unten Format verwenden:

$timeleft = date('H:i:s', strtotime($time1)-strtotime($time2)); 
+0

Perfekt, danke! –

+0

Gern geschehen. Wenn es funktioniert, bitte akzeptieren Sie diese Antwort. @EarlGrey –

0

Ja, was man bekommt, ist Unix-Zeitstempel, die in Sekunden. Sie können date Funktion erhalten erforderlichen Format wie folgt verwenden:

$timestr_formated = date("H:i:s", $timeleft); 
    print($timestr_formated); 
0

Sie DateTime::diff verwenden können.

$time1 = new DateTime('2017-05-01 12:00:00'); 
$time2 = new DateTime('2017-05-01 11:25:30'); 
$timeleft = $time1->diff($time2); 

echo $timeleft->format('%H:%i:%s'); // output: 00:34:30 

Wenn Sie mehr als 24 Stunden erlauben möchten.

$time1 = new DateTime('2017-05-02 12:00:00'); 
$time2 = new DateTime('2017-04-02 11:25:30'); 
$timeleft = $time1->diff($time2); 

echo str_pad($timeleft->format('%a') * 24 + $timeleft->format('%h'), 2, "0") . 
    $timeleft->format(':%i:%s'); // output: 720:34:30 
+1

Dies sollte gut funktionieren, es sei denn, der Unterschied passiert> 24 Stunden. –