Zeitdifferenz

Arndtinho

Erfahrenes Mitglied
Hallo,

ich stehe gerade auf dem Schlauch.
Über ein Formular gebe ich eine Startzeit, eine Endzeit und die Länge der Pause (in Minuten) ein.
PHP:
$start = '08:00';
$end = '17:00';
$pause = 45;
Nun möchte ich die Differenz in Stunden abzüglich der Pause berechnen. Welche PHP-Funktionen muss ich dazu nutzen?

Viele Grüße
Arndtinho
 
Schau mal nach mktime() - damit kannst du Uhrzeiten in Timestamps umwandeln und diese dann voneinander abziehen - damit solltest du es lösen können.
 
Hallo,

ich habe da irgendwie einen Denkfehler und auch noch nichts passendes bei Google gefunden. Die Zeitdifferenz berechne ich jetzt so:
PHP:
$start = mktime(8, 0, 0, 0, 0, 0);
$end   = mktime(17, 0, 0, 0, 0, 0);
$diff  = $end-$start;
echo "Start: ".$start."<br>Ende: ".$end."<br><br>Differenz: ".date("H:i", $diff);
Nach meiner Theorie sollte da eigentlich 9,00 rauskommen, aber als Ergebnis erhalte ich 10:00.
Wo ist mein Fehler?

[EDIT]
So, habe es jetzt anders gelöst und bekomme das, was ich erwarte:
PHP:
$sStart = "08:00";
$sEnd   = "17:00";
$iPause = 45;
 
list($sStdStart, $sMinStart) = explode(":", $sStart);
list($sStdEnd, $sMinEnd)     = explode(":", $sEnd);

$iDiffMin = abs(($sStdEnd*60 + $sMinEnd) - ($sStdStart*60 + $sMinStart)) - 45;
$iDiff    = $iDiffMin/60;
echo $iDiff;
[/EDIT]

Viele Grüße
Arndtinho
 
Zuletzt bearbeitet:
Zurück