dedlfix: Uhrzeit voneinander abziehen.

Beitrag lesen

echo $begrüßung;

Ich frage die Arbeitszeit in einem Formular ab. (Von 08:00 bis 15:00)

Das heißt, du bekommst String-Werte.

Auf meiner nächsten Seite möchte ich die Zeiten verwalten.

$von = "08:00";
$bis = "15:00";

Ja, String-Werte.

Wenn ich nun
$ergebnis = $bis - $von;
bekomme ich 7.

Was passiert unter PHP, wenn man mit String-Werten rechnen möchte? Es wandelt die String-Werte mittels impliziter Typumwandlung in numerische Typen um, jedenfalls soweit, wie es kommt. Stehen nichtnumerische Zeichen im String wird an der Stelle abgebrochen und die Zahl bis dahin genommen.

Hab ich jetzt 08:30 bis 15:00
bekomme ich auch 7.

Kein Wunder ...

Womit kann ich denn da am besten mit rechnen?

Um mit Uhrzeiten zu rechnen ist es besser, die Werte in Anzahl der Sekunden seit einem Bezugspunkt (z.B.: Mitternacht lokaler Uhrzeit oder 1.1.1970 0:00 UTC) umzurechnen. Passende Funktionen zur Umrechnung findest du im Kapitel Date and Time Functions des PHP-Handbuchs.

echo "$verabschiedung $name";