Heute soll es mal um PHP gehen, genauer gesagt um die Datumsfunktionen, Formatierung von Daten, Ausgabe.
Fangen wir an. Eine wichtige Sache ist der Unix-Timestamp. Grob gesagt gibt dieser die Anzahl der Sekunden seit 1970 an. Den aktuellen bekommen wir mit der Funktion time():
Dieser ist im Grund genommen einfach nur eine Zahl wie z.B. 1235986846. Das schöne daran ist, damit können wir z.B. rechnen. Eine Minute mehr? Kein Problem +60. Eine Woche mehr:
$nextWeek = time() + (7 * 24 * 60 * 60);
Doch nun weiter zum Wichtigsten der Ausgabe von Zeiten:
Ausgabe von Datumsangaben
Die Ausgabe von Zeit und Datum kann mit dem Befehl „date“ vorgenommen werden. Die Formatierung der Ausgabe erfolgt über den einen Parameter. Siehe auch auf php.net:
- d – Tag des Monats *( 01 – 31 )
- D – Tag der Woche ( Wed – 3stellig)
- F – Monatsangabe ( December – ganzes Wort )
- g – Stunde im 12-Stunden-Format (1-12 )
- G – Stunde im 24-Stunden-Format (0-23 )
- h – Stunde im 12-Stunden-Format *(01-12 )
- H – Stunde im 24-Stunden-Format *(00-23 )
- i – Minuten *( 00-59 )
- I(groß „i“) – 1 bei Sommerzeit, 0 bei Winterzeit
- j – Tag des Monats ( 1-31 )
- l(klein „L“) – ausgeschriebener Wochentag ( Monday )
- L – Schaltjahr = 1 , kein Schaltjahr = 0
- m – Monat *(01-12 )
- n – Monat (1-12 )
- M – Monatsangabe ( Feb – 3stellig )
- s – Sekunden *( 00 – 59 )
- t – Anzahl der Tage des Monats ( 28 – 31 )
- w – Wochentag ( 0(Sonntag) bis 6(Samstag) )
- Y – Jahreszahl , vierstellig ( 2001 )
- y – Jahreszahl , zweistellig ( 01 )
Beispielscript:
Datum: 13.12.2024 | Uhrzeit: 06:34
Die Ausgabe sieht dann wie folgt aus: Datum: 15.10.2003 | Uhrzeit 20:28
Die date() – Funktion gibt ohne Parameter die aktuelle Zeit aus, als zweiter Parameter kann ein Timestamp mitgegeben werden:
Datum in Timestamp umwandeln
Auch der umgekehrte Wert von einem Datum in einen Timestamp geht:
Ausgabe von MySQL-Datumsangaben
Eine kleine Besonderheit sind noch die MySQL datetime Felder:
Gibt man diese direkt aus, werden diese wie auf dem Bild ausgegeben, aber auch diese können in eine PHP-Zeit konvertiert und danach formatiert werden:
$datetime = strtotime($mySQLdatetime);
$mysqldate = date("d.m.Y", $datetime);