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: