Arbeiten mit Datum und Uhrzeit in PHP: Funktionen und Beispiele

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einleitung: Warum man mit Daten und Zeiten in PHP arbeiten können sollte



Die Arbeit mit Daten und Zeiten ist eine der Kernaufgaben in der Webentwicklung. Ob es um die Protokollierung von Benutzeraktionen, die Berechnung des Alters, die Erstellung von Kalendern, die Verarbeitung von Zeitstempeln aus Datenbanken oder die Verwaltung von Abonnementlaufzeiten geht – ohne zuverlässige Werkzeuge für die Arbeit mit Daten kommt man nicht aus. PHP bietet Entwicklern einen leistungsstarken und flexiblen Satz an Funktionen und Klassen für diese Zwecke.



In diesem Artikel werden wir die wichtigsten Methoden zur Arbeit mit Daten und Zeiten in PHP im Detail besprechen: von den einfachen Funktionen date() und time() bis zum objektorientierten Ansatz mit der Klasse DateTime. Sie erfahren, wie man Daten formatiert, die Differenz zwischen ihnen berechnet, mit Zeitzonen arbeitet und typische Fehler vermeidet.



Grundlegende Funktionen: date(), time() und mktime()



Der einfachste Weg, das aktuelle Datum oder die aktuelle Uhrzeit in PHP zu erhalten, ist die Verwendung der Funktion date(). Sie akzeptiert einen Format-String und optional einen Zeitstempel (timestamp). Wenn kein Zeitstempel übergeben wird, wird die aktuelle Zeit verwendet.



<?php// Aktuelles Datum im Format "Jahr-Monat-Tag"echo date('Y-m-d'); // Ausgabe: 2025-04-10

// Aktuelle Uhrzeit im Format "Stunden:Minuten:Sekunden"echo date('H:i:s'); // Ausgabe: 14:35:20

// Vollständiges Datum und Uhrzeitecho date('Y-m-d H:i:s'); // Ausgabe: 2025-04-10 14:35:20?>


Die Funktion time()

time() gibt den aktuellen Unix-Zeitstempel zurück (die Anzahl der Sekunden seit dem 1. Januar 1970). Dies ist nützlich für Berechnungen und Vergleiche.



<?php$now = time();echo $now; // Ausgabe: 1744277720 (Zahl ändert sich jede Sekunde)

// Datum in 7 Tagen$nextWeek = time() + (7 * 24 * 60 * 60);echo date('Y-m-d', $nextWeek); // Ausgabe: 2025-04-17?>


Die Funktion mktime()

mktime() ermöglicht es Ihnen, einen Zeitstempel für ein bestimmtes Datum und eine bestimmte Uhrzeit zu erstellen. Dies ist praktisch, wenn Sie einen timestamp für bestimmte Parameter benötigen.



<?php// Erstellt einen Zeitstempel für den 25. Dezember 2025, 10:00:00$christmas = mktime(10, 0, 0, 12, 25, 2025);echo date('Y-m-d H:i:s', $christmas); // Ausgabe: 2025-12-25 10:00:00?>


Datumsformatierung: grundlegende Zeichen

In der folgenden Tabelle sind die am häufigsten verwendeten Formatierungszeichen für die Funktion date() aufgeführt:

  • d — Tag des Monats (01–31)
  • m — Monatsnummer (01–12)
  • Y — Jahr im 4-stelligen Format (2025)
  • H — Stunden im 24-Stunden-Format (00–23)
  • i — Minuten (00–59)
  • s — Sekunden (00–59)
  • l — Vollständiger Name des Wochentags (Monday)
  • F — Vollständiger Name des Monats (April)


Objektorientierter Ansatz: Die Klasse DateTime

Seit PHP 5.2 wird empfohlen, die Klasse DateTime für die Arbeit mit Daten zu verwenden. Sie bietet weitaus mehr Möglichkeiten und eine intuitive Benutzeroberfläche.



Erstellen eines DateTime-Objekts

<?php// Aktuelles Datum und Uhrzeit$date = new DateTime();echo $date->format('Y-m-d H:i:s'); // Ausgabe: 2025-04-10 14:35:20

// Bestimmtes Datum$birthday = new DateTime('1990-07-15');echo $birthday->format('d.m.Y'); // Ausgabe: 15.07.1990

// Mit relativem Format$nextMonth = new DateTime('+1 month');echo $nextMonth->format('Y-m-d'); // Ausgabe: 2025-05-10?>


Modifikation von Daten

Die Methode modify() ermöglicht es, Daten einfach mit Hilfe von relativen Zeichenfolgen zu ändern.



<?php$date = new DateTime('2025-04-10');$date->modify('+10 days');echo $date->format('Y-m-d'); // Ausgabe: 2025-04-20

$date->modify('first day of next month');echo $date->format('Y-m-d'); // Ausgabe: 2025-05-01?>


Diff

Blogs

Buchempfehlungen