Heim > Artikel > Backend-Entwicklung > Wie füge ich in PHP zwei Zeitintervalle hinzu?
Fügen Sie zwei Zeitintervalle in PHP hinzu
In PHP möchten Sie die Gesamtdauer von zwei Zeitintervallen berechnen und diese in Stunden summieren Bei der Anzeige im Minutenformat müssen diese beiden Intervalle addiert werden. Die DateInterval-Klasse von PHP verfügt jedoch nicht über überladene Operatoren, sodass diese nicht direkt hinzugefügt werden können.
Um dies zu erreichen, müssen Sie ein neues DateTime-Objekt erstellen, mit der Funktion add() zwei Intervalle hinzufügen und dann den Zeitunterschied vom Referenzpunkt anzeigen:
<code class="php">$e = new DateTime('00:00'); $f = clone $e; $e->add($interval1); $e->add($interval2); echo "Total interval: ", $f->diff($e)->format("%H:%I"), "\n";</code>
Vollständig Codebeispiel:
<code class="php">$a = new DateTime('14:25'); $b = new DateTime('17:30'); $interval1 = $a->diff($b); echo "interval 1: ", $interval1->format("%H:%I"), "\n"; $c = new DateTime('08:00'); $d = new DateTime('13:00'); $interval2 = $c->diff($d); echo "interval 2: ", $interval2->format("%H:%I"), "\n"; $e = new DateTime('00:00'); $f = clone $e; $e->add($interval1); $e->add($interval2); echo "Total interval: ", $f->diff($e)->format("%H:%I"), "\n";</code>
Eine andere Methode besteht darin, die DateInterval-Klasse zu erweitern und die Funktion add() anzupassen, um die Gesamtzeit selbst zu berechnen:
<code class="php">class MyDateInterval extends DateInterval { //... } $a = new DateTime('14:25'); $b = new DateTime('17:30'); $interval1 = $a->diff($b); echo "interval 1: ", $interval1->format("%H:%I"), "\n"; $c = new DateTime('08:00'); $d = new DateTime('13:00'); $interval2 = $c->diff($d); echo "interval 2: ", $interval2->format("%H:%I"), "\n"; $e = MyDateInterval::fromDateInterval($interval1); $e->add($interval2); echo "Total interval: ", $e->format("%H:%I"), "\n";</code>
Dies dient lediglich der Implementierung einer benutzerdefinierten Zeit durch eine benutzerdefinierte Abstandsmethode der Klasse A.
Das obige ist der detaillierte Inhalt vonWie füge ich in PHP zwei Zeitintervalle hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!