Meldung

11.08.2008 - Ausgabe von Datum und Zeit mit PHP nach Konvertierung in ein String

Datums- und Zeitinformationen können mit der Funktion Date in PHP in ein String konvertiert werden. Diese Funktion errechnet auf Basis eines Timestamps das zugehörige Datum und die Zeit (date und time). Ein Timestamp ist ein Integer-Wert, der die vergangenen Sekunden seit dem festen Startzeitpunkt (1.1.1970 um 0 Uhr) angibt. Alle Angaben zu Zeit und Datum werden in Form eines solchen Timestamps gemessen. Die aktuelle Zeit wird mit der Function time ermittelt und stellt nicht etwa die Zeit auf dem System des Seitenbesuchers dar, sondern gibt die Zeit und das Datum an, welche auf dem Webserver gesetzt ist.

Als Parameter erwartet die Funktion date eine Zeichenkette, die das gewünschte Ausgabeformat angibt, wobei für die einzelnen Komponenten bestimmte Platzhalter interpretiert werden. Date liefert ein String, das die Datum- und Zeitangaben in der gewüschten Formatierung enthält, wobei die Namen der Monate und Tage in englischer Sprache ausgegeben werden. Ein zweiter optionaler Parameter ermöglicht es einen individuellen Timestamp anzugeben, auf dessen Basis die Date- und Time-Angaben erfolgen. Fehlt dieser, so wird automatisch das aktuelle Systemdatum und die Zeit auf dem Webserver angenommen.

Unter Konvertierung und Datumsberechnungen gibt es weitere Beispiele zur Anwendung der Funktion date. Hier werden Timestamps individuell aus deren Einzelkomponenten zusammengestellt. Dazu kommt die Funktion mktime zum Einsatz, welche einen zu den Parameter (vereinzelte Angaben zu Tag, Monat, Jahr, Uhrzeit) zugehörigen Timestamp liefert. Darüber hinaus gibt es ein Beispiel, welches demonstriert, wie mit Datums- und Zeitangaben gerechnet werden kann. So werden etwa Fristen durch entsprechende Angabe von Parametern beim Funktionsaufruf von mktime berechnet. Date wandelt auch hier den von mktime gelieferten Timestamp in eine Zeichenkette um.

Während die Ausgaben von date grundsätzlich in englischer Sprache erfolgen, ist es bei der Entwicklung von Webanwendungen, die auch andere Sprachen unterstützen, nötig, die Ausgabe von Wochentagen und Monaten in der entsprechenden Landessprache zu erzeugen. Damit der Programmierer die Ausgabe der Komponenten Monat und Wochentag aufgrund der vorliegenden Daten nicht selbst umsetzen muss bietet sich unter PHP die Lokalisierung des Datums an. Die Konvertierung der Datumsinformationen erfolgt hier nicht mit date sondern mittels strftime – diese Funktion beachtet das im Script jeweils eingestellte Locale und erzeugt aufgrund dieser Angaben ein länderspezifisches Ausgabestring. Mittels der Funktion setlocale kann die zur Datumskonvertierung zu beachtende Sprache eingestellt werden.

Die Beispiele erzeugen Ausgaben, die HTML-Code zur Formatierung enthalten, damit die Ausgabestrings zeilenweise im Browser dargestellt werden. Zur Ausgabe wird echo verwendet. Ausgaben von Datum und Zeit können auch auf Seite des Clients erfolgen. Beachten Sie hierzu auch unsere Ausführungen zu Date in JavaScript, wo die Informationen bezüglich Date und Time sich auf das System des Seitenbesuchers beziehen.


Alexander Müller