php mit Adi Prinz

Datum & Uhrzeit ermitteln

In PHP können sie das aktuelle Datum und die aktuelle Uhrzeit mit der date()-Funktion und der DateTime-Klasse ermitteln. Hier sind einige grundlegende Beispiele, wie sie diese verwenden können:

Verwendung der date()-Funktion

Die date()-Funktion gibt das aktuelle Datum und die aktuelle Uhrzeit basierend auf dem angegebenen Format zurück.

<?php
// Aktuelles Datum und Uhrzeit
echo "Aktuelles Datum und Uhrzeit: " . date('Y-m-d H:i:s') . "\n";

// Nur das aktuelle Datum
echo "Aktuelles Datum: " . date('Y-m-d') . "\n";

// Nur die aktuelle Uhrzeit
echo "Aktuelle Uhrzeit: " . date('H:i:s') . "\n";

// Andere Formate
echo "Jahr: " . date('Y') . "\n";
echo "Monat: " . date('m') . "\n";
echo "Tag: " . date('d') . "\n";
echo "Stunde: " . date('H') . "\n";
echo "Minute: " . date('i') . "\n";
echo "Sekunde: " . date('s') . "\n";
?>

Verwendung der DateTime-Klasse

Die DateTime-Klasse bietet erweiterte Funktionen zur Arbeit mit Datum und Uhrzeit.

<?php
// Erstellen eines DateTime-Objekts für das aktuelle Datum und die aktuelle Uhrzeit
$date = new DateTime();

// Formatierung des Datums und der Uhrzeit
echo "Aktuelles Datum und Uhrzeit: " . $date->format('Y-m-d H:i:s') . "\n";

// Nur das aktuelle Datum
echo "Aktuelles Datum: " . $date->format('Y-m-d') . "\n";

// Nur die aktuelle Uhrzeit
echo "Aktuelle Uhrzeit: " . $date->format('H:i:s') . "\n";

// Andere Formate
echo "Jahr: " . $date->format('Y') . "\n";
echo "Monat: " . $date->format('m') . "\n";
echo "Tag: " . $date->format('d') . "\n";
echo "Stunde: " . $date->format('H') . "\n";
echo "Minute: " . $date->format('i') . "\n";
echo "Sekunde: " . $date->format('s') . "\n";
?>

Zeitzone festlegen

Sie können die Zeitzone festlegen, um sicherzustellen, dass das Datum und die Uhrzeit in der gewünschten Zeitzone ermittelt werden.

Mit der date_default_timezone_set()-Funktion

<?php
// Zeitzone festlegen
date_default_timezone_set('Europe/Berlin');

// Aktuelles Datum und Uhrzeit
echo "Aktuelles Datum und Uhrzeit: " . date('Y-m-d H:i:s') . "\n";
?>

Mit der DateTime-Klasse

<?php
// Erstellen eines DateTime-Objekts für das aktuelle Datum und die aktuelle Uhrzeit mit Zeitzone
$date = new DateTime('now', new DateTimeZone('Europe/Berlin'));

// Formatierung des Datums und der Uhrzeit
echo "Aktuelles Datum und Uhrzeit: " . $date->format('Y-m-d H:i:s') . "\n";
?>

Zeitstempel (Timestamp) ermitteln

Ein Zeitstempel ist die Anzahl der Sekunden seit dem 1. Januar 1970 00:00:00 UTC (Unix-Epoche).

<?php
// Aktueller Zeitstempel
$timestamp = time();
echo "Aktueller Zeitstempel: " . $timestamp . "\n";

// Datum und Uhrzeit aus Zeitstempel
$date = (new DateTime())->setTimestamp($timestamp);
echo "Datum und Uhrzeit aus Zeitstempel: " . $date->format('Y-m-d H:i:s') . "\n";
?>

Mit diesen Beispielen können sie das aktuelle Datum und die aktuelle Uhrzeit in PHP ermitteln und formatieren. Die date()-Funktion ist einfach und schnell, während die DateTime-Klasse leistungsstarke Funktionen für komplexere Anforderungen bietet.

Deutsches Format

Um das Datum und die Uhrzeit im deutschen Format zu ermitteln und auszugeben, können sie sowohl die date()-Funktion als auch die DateTime-Klasse in PHP verwenden. Das deutsche Datumsformat ist typischerweise TT.MM.JJJJ und das Zeitformat ist HH:MM:SS.

Verwendung der date()-Funktion

Die date()-Funktion in PHP kann mit dem Formatstring d.m.Y H:i:s verwendet werden, um Datum und Uhrzeit im deutschen Format anzuzeigen.

<?php
// Zeitzone auf Mitteleuropäische Zeit (MEZ) einstellen
date_default_timezone_set('Europe/Berlin');

// Aktuelles Datum und Uhrzeit im deutschen Format
echo "Aktuelles Datum und Uhrzeit: " . date('d.m.Y H:i:s') . "\n";

// Nur das aktuelle Datum im deutschen Format
echo "Aktuelles Datum: " . date('d.m.Y') . "\n";

// Nur die aktuelle Uhrzeit
echo "Aktuelle Uhrzeit: " . date('H:i:s') . "\n";
?>

Verwendung der DateTime-Klasse

Die DateTime-Klasse bietet ebenfalls die Möglichkeit, Datum und Uhrzeit im deutschen Format zu formatieren.

<?php
// Erstellen eines DateTime-Objekts für das aktuelle Datum und die aktuelle Uhrzeit mit Zeitzone
$date = new DateTime('now', new DateTimeZone('Europe/Berlin'));

// Formatierung des Datums und der Uhrzeit im deutschen Format
echo "Aktuelles Datum und Uhrzeit: " . $date->format('d.m.Y H:i:s') . "\n";

// Nur das aktuelle Datum im deutschen Format
echo "Aktuelles Datum: " . $date->format('d.m.Y') . "\n";

// Nur die aktuelle Uhrzeit
echo "Aktuelle Uhrzeit: " . $date->format('H:i:s') . "\n";
?>

Mit diesen Beispielen können sie Datum und Uhrzeit im deutschen Format anzeigen. Die date()-Funktion und die DateTime-Klasse bieten beide einfache Methoden, um dies zu erreichen. Stellen sie sicher, dass sie die richtige Zeitzone einstellen, um die korrekte lokale Zeit anzuzeigen.

Um deutsche Monatsnamen und Wochentage in PHP anzuzeigen, konnte man die Funktionalität der DateTime-Klasse und die setlocale()-Funktion zusammen mit der strftime()-Funktion nutzen.

Da strftime() in PHP 8.1 als veraltet markiert wurde, sollten wir eine alternative Methode verwenden, um das Datum und die Uhrzeit im deutschen Format anzuzeigen, insbesondere mit deutschen Monatsnamen und Wochentagen.

Verwendung von IntlDateFormatter

Hier ist ein Beispiel, wie sie die IntlDateFormatter-Klasse verwenden können, um Datum und Uhrzeit im deutschen Format anzuzeigen:

<?php
// Zeitzone auf Mitteleuropäische Zeit (MEZ) einstellen
date_default_timezone_set('Europe/Berlin');

// Erstellen eines DateTime-Objekts für das aktuelle Datum und die aktuelle Uhrzeit
$date = new DateTime();

// Erstellen eines IntlDateFormatter für das deutsche Datum und die deutsche Uhrzeit
$fmt = new IntlDateFormatter(
    'de_DE', // Locale für Deutsch (Deutschland)
    IntlDateFormatter::FULL, // Vollständiges Datum
    IntlDateFormatter::FULL // Vollständige Uhrzeit
);

// Formatieren des Datums und der Uhrzeit
echo "Aktuelles Datum und Uhrzeit: " . $fmt->format($date) . "\n";

// Nur das aktuelle Datum formatieren
$fmt->setPattern('EEEE, dd. MMMM yyyy');
echo "Aktuelles Datum: " . $fmt->format($date) . "\n";

// Nur den aktuellen Wochentag formatieren
$fmt->setPattern('EEEE');
echo "Aktueller Wochentag: " . $fmt->format($date) . "\n";

// Nur den aktuellen Monat formatieren
$fmt->setPattern('MMMM');
echo "Aktueller Monat: " . $fmt->format($date) . "\n";
?>

Erklärung

  • Zeitzone einstellen:
    date_default_timezone_set('Europe/Berlin') stellt sicher, dass die Zeit korrekt für Mitteleuropa eingestellt ist.
  • DateTime-Objekt:
    Ein DateTime-Objekt wird erstellt, um das aktuelle Datum und die aktuelle Uhrzeit zu erhalten.
  • IntlDateFormatter-Objekt:
    Ein IntlDateFormatter-Objekt wird mit der deutschen Locale (de_DE) und dem Format für vollständiges Datum und Uhrzeit erstellt.
  • Formatieren des Datums und der Uhrzeit:
    Das IntlDateFormatter-Objekt wird verwendet, um das Datum und die Uhrzeit zu formatieren. Die Methode setPattern() ermöglicht die Anpassung des Ausgabeformats.

Die Verwendung von IntlDateFormatter ist eine robuste und zukunftssichere Methode, um Datum und Uhrzeit im deutschen Format anzuzeigen, insbesondere mit deutschen Monatsnamen und Wochentagen. Diese Methode ist vorzuziehen, da strftime() veraltet ist und in zukünftigen PHP-Versionen möglicherweise entfernt wird.

Wichtige Funktionen

Hier sind einige wichtige Funktionen für Datum und Uhrzeit in PHP, zusammen mit kurzen Beschreibungen:

Wichtige Datum- und Uhrzeitfunktionen in PHP

  • date_default_timezone_set():
    Stellt die Standardzeitzone ein, die alle Datum- und Uhrzeit-Funktionen verwenden.
    Beispiel: date_default_timezone_set('Europe/Berlin');
  • date():
    Formatiert ein Datum und eine Uhrzeit.
    Beispiel: echo date('Y-m-d H:i:s');
  • strtotime():
    Wandelt einen englischen Text mit Datumsangabe in einen Unix-Zeitstempel um.
    Beispiel: echo strtotime('now');
  • time():
    Gibt die aktuelle Unix-Zeit (Sekunden seit dem 1. Januar 1970 00:00:00 UTC) zurück.
    Beispiel: echo time();
  • mktime():
    Gibt einen Unix-Zeitstempel für eine gegebene Zeit zurück.
    Beispiel: echo mktime(0, 0, 0, 12, 31, 2024);
  • DateTime-Klasse:
    Eine flexible Klasse für die Arbeit mit Datum und Uhrzeit.
    Beispiel:
    
    $datetime = new DateTime('now');
    echo $datetime->format('Y-m-d H:i:s');
                
  • DateTime::createFromFormat():
    Erstellt ein DateTime-Objekt aus einem benutzerdefinierten Datumsformat.
    Beispiel:
    
    $datetime = DateTime::createFromFormat('d/m/Y', '14/06/2024');
    echo $datetime->format('Y-m-d');
                
  • DateTimeZone-Klasse:
    Verwendet Zeitzoneninformationen in DateTime-Objekten.
    Beispiel:
    
    $timezone = new DateTimeZone('Europe/Berlin');
    $datetime = new DateTime('now', $timezone);
    echo $datetime->format('Y-m-d H:i:s');
                
  • IntlDateFormatter-Klasse:
    Formatierung von Datum und Uhrzeit in verschiedenen Lokalisierungen.
    Beispiel:
    
    $formatter = new IntlDateFormatter('de_DE', IntlDateFormatter::FULL, IntlDateFormatter::FULL);
    echo $formatter->format(new DateTime('now'));
                

Datumsfunktionen von php.net