PHP Date() & Time-Funktion: Wie erhalte ich den aktuellen Zeitstempel?

⚡ Intelligente Zusammenfassung

Die PHP-Funktion `date()` formatiert Zeitstempel in lesbare Datums- und Zeitangaben. Diese Anleitung erklärt die Datumssyntax, den Unix-Zeitstempel, das Auflisten und Festlegen von Zeitzonen, die Funktion `mktime` zum Erstellen von Zeitstempeln sowie eine vollständige Referenz der Formatzeichen für Uhrzeit, Tag, Monat und Jahr.

  • 📅 Was macht date()? Die Datumsfunktion wandelt einen Zeitstempel in eine formatierte Zeichenkette um, wobei Zeichen wie Y, m und d für Jahr, Monat und Tag verwendet werden.
  • ️ Unix-Zeitstempel: Ein Zeitstempel ist die Anzahl der Sekunden seit dem 1. Januar 1970 GMT, und time() gibt den aktuellen Wert zurück.
  • 🌍 Zeitzonen: date_default_timezone_set ändert die aktive Zeitzone, und DateTimeZone::listIdentifiers listet alle unterstützten Zeitzonen auf.
  • 🔧 mktime: Die Funktion mktime erstellt einen Zeitstempel aus einer bestimmten Stunde, Minute, Sekunde, einem Monat, Tag und Jahr.
  • 🔤 Formatzeichen: Einzelne Buchstaben steuern die Ausgabe, zum Beispiel H für die 24-Stunden-Zeit, l für den Wochentag und F für den Monat.
  • 📐 Referenztabellen: In den gruppierten Tabellen sind die Formatzeichen für Zeit, Tag, Monat und Jahr mit jeweils einem ausführbaren Beispiel aufgeführt.
  • 🤖 KI-Assistent: KI-Tools können Datumsformatierungs- und Differenzcodes generieren und helfen, verwirrende Zeitzonenfehler zu beheben.

PHP date() Funktion

PHP date() Funktion

Die PHP-Datumsfunktion ist eine integrierte Funktion, die die Arbeit mit Datumsdaten vereinfacht. Sie dient dazu, Datum oder Uhrzeit in ein lesbares Format zu formatieren. Beispielsweise kann sie verwendet werden, um das Veröffentlichungsdatum eines Artikels anzuzeigen oder den Zeitpunkt der letzten Aktualisierung von Daten in einer Datenbank zu erfassen.

PHP-Datumssyntax und Beispiel

Die PHP-Funktion date() hat folgende grundlegende Syntax.

<?php
date(format,[timestamp]);
?>

HIER,

  • „date(…)“ ist die Funktion, die den aktuellen Zeitstempel im Format … zurückgibt. PHP auf dem Server.
  • „Format“ ist das allgemeine Format, das unsere Ausgabe haben soll, zum Beispiel:
    • „Ymd“ steht für das PHP-Datumsformat JJJJ-MM-TT.
    • „Y“, um das aktuelle Jahr anzuzeigen
  • „[timestamp]“ ist optional. Wenn kein Zeitstempel angegeben wurde, verwendet PHP das aktuelle Datum und die aktuelle Uhrzeit des Servers.

Betrachten wir ein einfaches Beispiel, das das aktuelle Jahr anzeigt.

<?php

echo date("Y");

?>

Ausgang:

2026

Was ist ein Zeitstempel?

Ein Zeitstempel in PHP ist ein numerischer Wert in Sekunden zwischen der aktuellen Zeit und dem Wert an Position 1.st Januar 1970 00:00:00 Greenwich Mean Time (GMT).

Der von der Zeitfunktion zurückgegebene Wert hängt von der Standardzeitzone ab.

Die Standardzeitzone wird in der php.ini-Datei festgelegt. Sie kann auch programmatisch mit der Funktion date_default_timezone_set eingestellt werden.

Der unten stehende Code zeigt den aktuellen Zeitstempel an.

<?php

echo time();

?>

Angenommen, Sie haben die Datei timestamp.php im Ordner phptuts gespeichert, navigieren Sie zu folgendem Pfad: URL http://localhost/phptuts/timestamp.php

Timestamp

Hinweis: Der Wert des Zeitstempels ist nicht konstant. Er ändert sich jede Sekunde.

Abrufen einer Liste der verfügbaren Zeitzonen-IDs

Bevor wir uns damit befassen, wie man die Standardzeitzone programmatisch festlegt, schauen wir uns an, wie man eine Liste der unterstützten Zeitzonen erhält.

<?php

$timezone_identifiers = DateTimeZone::listIdentifiers();

foreach($timezone_identifiers as $key => $list){

echo $list . "<br/>";

}
?>

HIER,

  • „$timezone_identifiers = DateTimeZone::listIdentifiers();“ ruft die statische Methode listIdentifiers der integrierten Klasse DateTimeZone auf. Die Methode listIdentifiers gibt eine Liste von Kennungen zurück, die der Variablen $timezone_identifiers zugewiesen werden.
  • „foreach{…}“ durchläuft das Array und gibt die Werte aus.

Angenommen, Sie haben die Datei list_time_zones.php im Ordner phptuts gespeichert, navigieren Sie zu folgendem Pfad: URL http://localhost/phptuts/list_time_zones.php

Zeitzonenkennungen

PHP legt die Zeitzone programmgesteuert fest

Mit der Funktion date_default_timezone_set können Sie die Standardzeitzone über ein PHP-Skript festlegen.

Die festgelegte Zeitzone wird dann von allen Datumsangaben verwendet. PHP-Funktionen in Ihren Skripten. Es hat die folgende Syntax.

<?php
date_default_timezone_set(string $timezone_identifier);
?>

HIER,

  • „date_default_timezone_set()“ ist die Funktion, die die Standardzeitzone festlegt
  • „string $timezone_identifier“ ist die Zeitzonenkennung

Das unten stehende Skript zeigt die Zeit gemäß der in der php.ini festgelegten Standardzeitzone an. Anschließend ändert es die Standardzeitzone auf Asia/Calcutta und zeigt die Zeit erneut an.

<?php
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");

date_default_timezone_set("Asia/Calcutta");
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");
?>

Vorausgesetzt, Sie haben die Datei set_time_zone.php im Ordner phptuts gespeichert, navigieren Sie zu folgendem Pfad: URL http://localhost/phptuts/set_time_zone.php

PHP legt die Zeitzone programmgesteuert fest

PHP Mktime-Funktion

Die mktime-Funktion gibt den Zeitstempel in a zurück Unix Format.

Es hat die folgende Syntax.

<?php
mktime(hour, minute, second, month, day, year, is_dst);
?>

HIER,

  • „mktime(…)“ ist die PHP-Zeitstempelfunktion „make“.
  • Die Angabe „Stunde“ ist optional; es handelt sich um die Stundenzahl.
  • Die Angabe „Minute“ ist optional; es handelt sich um die Anzahl der Minuten.
  • „Sekunde“ ist optional; es handelt sich um die Anzahl der Sekunden.
  • Die Angabe „Monat“ ist optional; es handelt sich um die Monatsnummer.
  • Die Angabe „Tag“ ist optional; es handelt sich um die Tagesnummer.
  • Die Angabe „Jahr“ ist optional; es handelt sich um die Jahreszahl.
  • „is_dst“ ist optional; es dient zur Bestimmung der Sommerzeit. 1 steht für Sommerzeit, 0, wenn keine Sommerzeit gilt, und -1, wenn die Sommerzeit unbekannt ist.

Betrachten wir nun ein Beispiel, das mithilfe der mktime-Funktion einen Zeitstempel für das Datum 13.10.2025 erzeugt.

<?php

echo mktime(0,0,0,10,13,2025);

?>

HIER,

  • „0,0,0“ steht für Stunde, Minute und Sekunde.
  • „10“ ist der Monat des Jahres
  • „13“ ist der Tag des Monats
  • „2025“ ist das Jahr

Ausgang:

1760328000

PHP-Datumsformatreferenz

Die folgenden Tabellen zeigen die gebräuchlichen Formatierungszeichen, die bei der Arbeit mit den PHP-Datumsfunktionen verwendet werden.

Zeitparameter

Parameter Beschreibung Beispiel
"R" Gibt das vollständige Datum und die vollständige Uhrzeit zurück
<?php
echo date("r");
?>
„a“, „A“ Gibt zurück, ob die aktuelle Zeit am oder pm bzw. AM oder PM ist
<?php
echo date("a");
echo date("A");
?>
„g“, „G“ Gibt die Stunde ohne führende Nullen [1 bis 12] bzw. [0 bis 23] zurück
<?php
echo date("g");
echo date("G");
?>
„h“, „H“ Gibt die Stunde mit führenden Nullen zurück [01 bis 12] bzw. [00 bis 23].
<?php
echo date("h");
echo date("H");
?>
"Ist" Gibt die Minuten/Sekunden mit führenden Nullen zurück [00 bis 59]
<?php
echo date("i");
echo date("s");
?>

Tagesparameter

Parameter Beschreibung Beispiel
"D" Gibt den Tag des Monats mit führenden Nullen zurück [01 bis 31]
<?php
echo date("d");
?>
"J" Gibt den Tag des Monats ohne führende Nullen zurück [1 bis 31]
<?php
echo date("j");
?>
"D" Gibt die ersten 3 Buchstaben des Wochentagsnamens zurück [So bis Sa]
<?php
echo date("D");
?>
"L" Gibt den Wochentag zurück [Sonntag bis Samstag]
<?php
echo date("l");
?>
"Im" Gibt den Wochentag ohne führende Nullen zurück [0 bis 6]; Sonntag wird durch Null (0) dargestellt bis Samstag durch Sechs (6).
<?php
echo date("w");
?>
"Z" Gibt den Tag des Jahres ohne führende Leerzeichen zurück [0 bis 365]
<?php
echo date("z");
?>

Monatsparameter

Parameter Beschreibung Beispiel
"M" Gibt die Monatszahl mit führenden Nullen [01 bis 12] zurück.
<?php
echo date("m");
?>
"N" Gibt die Monatszahl ohne führende Nullen zurück [1 bis 12]
<?php
echo date("n");
?>
"M" Gibt die ersten 3 Buchstaben des Monatsnamens zurück [Januar bis Dezember]
<?php
echo date("M");
?>
"F" Gibt den Monatsnamen zurück [Januar bis Dezember]
<?php
echo date("F");
?>
"T" Gibt die Anzahl der Tage in einem Monat zurück [28 bis 31]
<?php
echo date("t");
?>

Jahresparameter

Parameter Beschreibung Beispiel
"L" Gibt 1 zurück, wenn es sich um ein Schaltjahr handelt, und 0, wenn es sich nicht um ein Schaltjahr handelt.
<?php
echo date("L");
?>
"Y" Gibt das vierstellige Jahresformat zurück
<?php
echo date("Y");
?>
"Y" Gibt das zweistellige Jahresformat (00 bis 99) zurück
<?php
echo date("y");
?>

Häufig gestellte Fragen

Die Funktion `date()` ist eine einfache Prozedur, die einen Zeitstempel formatiert. Die Klasse `DateTime` ist objektorientiert und unterstützt Arithmetik, Vergleiche, Zeitzonen und Unveränderlichkeit, wodurch sie sich besser für komplexe Datumslogik in größeren Anwendungen eignet.

Verwenden Sie strtotime(), das Formate wie '2025-10-13' oder 'next' liest. Mondayund gibt einen Unix-Zeitstempel zurück. Für die strikte Analyse eines bekannten Formats ist DateTime::createFromFormat sicherer, da es bei ungültiger Eingabe eindeutig einen Fehler ausgibt.

Erstellen Sie zwei DateTime-Objekte und rufen Sie die Funktion diff() auf, die ein DateInterval zurückgibt. Anschließend können Sie Tage, Monate oder Jahre auslesen, beispielsweise mit $start->diff($end)->days, um die Gesamtzahl der Tage zwischen den beiden Daten zu erhalten.

Ja. Beschreiben Sie das Eingabe- und Ausgabeformat, und die KI kann Code für date(), DateTime oder strtotime generieren, einschließlich des Hinzufügens von Intervallen oder der Konvertierung von Zeitzonen. Testen Sie es mit Sonderfällen wie Schaltjahren und Monatsenden.

Ja. Die KI kann einen fehlenden Aufruf von date_default_timezone_set, eine Diskrepanz zwischen Server- und Anzeigezeitzone oder Probleme mit der Sommerzeit erkennen und dann die Verwendung von DateTime mit expliziten Zeitzonen empfehlen, um das Verhalten vorhersehbar zu machen.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: