Mit PHP ein Datum, einen Zeitraum oder die Differenz als Text herausfinden

Kevin Pliester
Aktualisiert am

In diesem Beitrag erfährst du, wie du mit PHP und auch WordPress Zeiten ausgibst. Dazu zählen das aktuell Datum; Termine in der Zukunft, oder in der Vergangenheit. Auch wie du Tage innerhalb eines Zeitraums herausfindest. Viel Spaß!

time()

Mit time() lässt sich der aktuelle Zeitstempel ausgeben. Der aktuelle Zeitstempel besteht immer aus Sekunden. Als Ausgangsdatum wird immer der 1. Januar 1970 GMT verwendet. Das heißt, dass time() immer die Sekunden seit dem 1. Januar 1970 GMT für uns zählt.

time(); // Jetzt als Zeitstempel

Da hier die Sekunden ausgegeben werden, lässt sich auch die Uhrzeit ausgeben. Dafür verwenden wir date() um die Uhrzeit anzuzeigen.

date('H:i'); // Jetzt als Stunde und Minute

date()

Die bekannteste und einfachste Funktion, ist die von PHP bereitgestellte date()-Funktion. Mit dieser kann man spielend das aktuelle Datum ausgeben.

date('d.m.Y'); // Jetzt als Datum

Als zweiter Parameter kann auch ein Zeitstempel angegeben werden. So wird bspw. ein Zeitstempel aus der Vergangenheit, als Datum vormattiert.

date('d.m.Y', strtotime('-1 week')); // Jetzt minus 1 Woche, als Datum

strtotime()

Mit strtotime() lässt sich eine Datums- bzw. Zeitzeichenkette in Sekunden umwandeln. Diese Funktion haben wir oben verwendet, um Heute vor einer Woche zu erhalten.

strtotime('-1 weeks'); // Jetzt vor einer Woche

Siehe auch:

DateTime()

Mit der Klasse DateTime() bietet uns PHP etwas richtig Nützliches an. Mit der Klasse lassen sich Zeichenketten modifizieren, formatieren und ausgeben.

$date = new \DateTime('now'); // Jetzt

$date->modify('+2 days'); // Jetzt plus zwei Tage
echo $date->format('d.m.Y'); // Gibt das Ergebnis als Datum zurück

$date->modify('+2 days'); // Jetzt plus vier Tage
echo $date->format('d.m.Y');

Mit getTimestamp() lässt sich auch der Zeitstempel zurückgeben. Dies ist nützlich, wenn du Vergleiche durchführen willst.

$date = new \DateTime('01.01.2021'); // 01. Januar 2021

if ($date->getTimestamp() < time()) {
   echo 'Der 01. Januar 2021 liegt in der Vergangenheit!';
}

DatePeriod()

Mit DatePeriod() lassen sich alle Tage zwischen zwei DateTime() Objekten generieren. Das ist nützlich, wenn man bspw. ein Diagramm erstellen möchte und auch die Tage zwischen zwei Terminen benötigt.

$start = new \DateTime('01.01.2021');
$ende = new \DateTime('15.01.2021');

$interval = new \DateInterval('P1D'); // P1D gibt an, dass die Tage gezählt werden
$zeitraum = new \DatePeriod($start, $interval,$ende);

foreach ($zeitraum as $date) {
    echo $date->format('d.m.Y') . '<br>';
}

Siehe auch:

WordPress: human_time_diff()

Mit human_time_diff() bietet uns WordPress eine weitere nützliche Funktion. Mit dieser lassen sich die Abstände zwischen zwei Zeitstempeln ausrechnen. WordPress wandelt diesen Abstand dann in einen Satz um.

So lässt sich zum Beispiel vor 1 Woche ausgeben, wenn das Datum eine Woche zurückliegt.

printf('vor %s', human_time_diff(strtotime('-1 weeks'))); // vor 1 Woche

Siehe auch:

Hat dir der Beitrag gefallen?