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

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 ZeitstempelCode-Sprache: JavaScript (javascript)

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 MinuteCode-Sprache: JavaScript (javascript)

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 DatumCode-Sprache: JavaScript (javascript)

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 DatumCode-Sprache: JavaScript (javascript)

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 WocheCode-Sprache: JavaScript (javascript)

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');Code-Sprache: PHP (php)

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!';
}Code-Sprache: PHP (php)

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>';
}Code-Sprache: PHP (php)

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 WocheCode-Sprache: JavaScript (javascript)

Siehe auch: