Heim  >  Artikel  >  Backend-Entwicklung  >  Wie füge ich in PHP zwei Zeitintervalle hinzu?

Wie füge ich in PHP zwei Zeitintervalle hinzu?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-04 02:51:02200Durchsuche

How to Add Two Time Intervals in PHP?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn