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
Code-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 Minute
Code-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 Datum
Code-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 Datum
Code-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 Woche
Code-Sprache: JavaScript (javascript)
Siehe auch:
- Zeit- und Datumsformate – php.net
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:
- DateInterval() – php.net
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
Code-Sprache: JavaScript (javascript)
Siehe auch:
- human_time_diff() – WordPress.org