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

Wie füge ich in PHP zwei Zeitintervalle hinzu?

Mary-Kate Olsen
Freigeben: 2024-11-04 02:51:02
Original
241 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage