von Nicolas Rotermund und Christian Fuchs
Mit PHP lässt sich sehr einfach das aktuelle Datum ausgeben. Der Vorteil der PHP-Lösung gegenüber dem Javascript-Pendant ist, dass Javascript nicht auf jedem Browser aktiviert ist. Durch eine kleine Zeile PHP lässt sich auch über die fehlende Aktualität der eigenen Seite hinwegtäuschen.
Für die Datumsausgabe stehen dem Programmierer die Funktion date() und getdate() zur Verfügung. Die Funktion getdate() liefert aktuelle Datums- und Zeitinformationen, während die Funktion date() einen Datumsstring nach den Vorgaben definiert. Zuerst wird für die getdate() Funktion dem Array $datum der Inhalt von getdate() übergeben. Dann kann man mit diesen Variablen auf die wichtigsten Datumsangaben zugreifen:
$datum
= getdate();
$datum[weekday]
$datum[month]
$datum[mday]
$datum[mon]
$datum[year]
$datum[yday]
$datum[hours]
$datum[minutes]
$datum[hours]
= sprintf("%02.0f", $datum[hours]);
$datum[minutes] = sprintf("%02.0f",
$datum[minutes]);
So lässt sich analog mit Wochentag und Monat verfahren, so dass die folgende Funktion das aktuelle Datum mit der Uhrzeit ergibt:
echo
"Heute ist der $datum[mday].$datum[mon].$datum[year]. Es ist $datum[hours]:$datum[minutes]
Uhr. ";
Dies ergibt dann: Heute ist der 25.06.2002. Es ist 17:22 Uhr.
Mit dieser Zeile wird der gestrige Tag als Änderungsdatum der Seite ausgegeben:
echo "Letzte Aktuaklisierung: ".($datum[mday]-1).".$datum[mon].$datum[year].
Es ist $datum[hours]:$datum[minutes] Uhr. ";
Allerdings liefert $datum[weekday] die Tage auf englisch. Mit einer Abfrage kann der Variable auch der deutsche Wert zugewiesen werden:
if($datum[weekday] == "Monday")
{ $datum[weekday] = "Montag"; }
if($datum[weekday] == "Tuesday")
{ $datum[weekday] = "Dienstag"; }
if($datum[weekday] == "Wednesday")
{ $datum[weekday] = "Mittwoch"; }
if($datum[weekday] == "Thursday")
{ $datum[weekday] = "Donnerstag"; }
if($datum[weekday] == "Friday")
{ $datum[weekday] = "Freitag"; }
if($datum[weekday] == "Saturday")
{ $datum[weekday] = "Samstag"; }
if($datum[weekday] == "Sunday")
{ $datum[weekday] = "Sonntag"; }
Alternativ kann man die Datumsfunktionen von PHP auch mit der Funktion date() in dieser Form ausgeben:
date(string format[,int time]).
[,int time] gibt dabei die Zeit an, die formatiert werden soll. Wenn diese Option nicht gesetzt wurde, wird die aktuelle Serverzeit eingesetzt. Verwendet werden kann eine Reihe von Variablen, die hier zusammengestellt sind:
| a | “am” oder “pm” | |
| A | “AM” oder “PM” | |
| B | Swatch-Internet-Zeit | |
| d | Tag des Monats, 2-stellig mit führender Null: “01″ bis “31″ | |
| D | Tag der Woche als 3 Buchstaben, z.B. “Fri” | |
| F | Monat als ganzes Wort, z.B “January” | |
| g | Stunde im 12-Stunden-Format ohne führende Null: “1″ bis “12″ | |
| G | Stunde im 24-Stunden-Format ohne führende Null: “0″ bis “23″ | |
| h | Stunde im 12-Stunden-Format: “01″ bis “12″ | |
| H | Stunde im 24-Stunden-Format: “00″ bis “23″ i – Minuten: “00″ bis “59″ | |
| I | (großes ‘i’) – “1″ bei Sommerzeit, sonst “0″ | |
| j | Tag des Monats ohne führende Null: “1″ bis “31″ | |
| l | (kleines ‘L’) ausgeschriebener Tag der Woche, z.B. “Friday” | |
| L | boolscher Wert für Schaltjahre: “0″ oder “1″ | |
| m | Monat: “01″ to “12″ n – Monat ohne führende Null: “1″ bis “12″ | |
| M | Monat als 3 Buchstaben, z.B. “Jan” s – Sekunden: “00″ bis “59″ | |
| S | Anhang der englischen Aufzählung, 2 Buchstaben, z.B. “th” [bei 4 für fourth], “nd” [bei 2 für second] |
|
| t | Anzahl der Tage des angegebenen Monats: “28″ bis “31″ | |
| T | Zeitzoneneinstellung des Rechners, z.B. “MDT” | |
| U | Sekunden seit Beginn der UNIX-Epoche (1.1.1970) | |
| w | Wochentag beginnend mit “0″ (Sonntag) bis “6″ (Samstag) | |
| Y | Jahr als vierstellige Zahl, z.B. “1999″ | |
| y | Jahr als zweistellige Zahl, z.B. “99″ | |
| z | Tag des Jahres: “0″ bis “365″ | |
| Z | Offset der Zeitzone gegen GTM (“-43200″ bis “43200″) in Minuten. Hier nicht angegebene Zeichen wie zB: “, ” oder “:” können im String mit angegeben werden. |
Hier einige Beispiele:
<?echo "Heute ist
der ".date("d.m.Y").", es ist jetzt ".date("H:i");?>
<?echo
"Letzte Aktualisierung dieser Seite: ".date("l, d.m.Y, H:i",filemtime(basename($PHP_SELF)));?>
Weitere Beiträge:
- 5 Ideen wie Sie wiederkehrende Arbeitsschritte & Marketingprozesse gewinnbringend im Internet automatisieren! Ein Gastbeitrag von Robert Nabenhauer.
- Wachstum durch Facebook-Gewinnspiele: Wie Sie über Facebook virale Gewinnspiele & eine schnell wachsende Fangemeinde aufbauen
- Wie Sie aufmerksamkeitsstarke Prelaunch-, Launch- und Relaunch-Szenarien aufbauen und dabei Viralität, Spannung & Kaufkraft erzeugen
- Wie Sie waschechte Iphone-Apps mit PhoneGAP entwickeln, um am lukrativen App-Markt mitzumischen
- Wie Sie Ihr Shop-Sortiment so präsentieren, dass der Kunde in Zukunft mehr findet und eher kauft! Ein Gastbeitrag von Nicolas Schmidt-Voigt.
- 11 faszinierende BuddyPress-Plugins, um kostenlos aus WordPress ein soziales Netzwerk zu zaubern
- Die Vorboten einer neuen Internet-Industrie! Ein exklusiver Rückblick & Blick hinter die Kulissen der Clickbank-Exchange 2011 in New York.


Hallo, habt Ihr das mal überprüft??
Läuft gar nicht:
echo
“Heute ist der $datum[mday].$datum[mon].$datum[year]. Es ist $datum[hours]:$datum[minutes]
Uhr. “;
ist falsch: $datum[yday] richtig wohl eher so $datum['yday']
Sorry
Bei mir läufts genau so (1:1 kopiert) wunderbar, wie hier beschrieben. Naturlich nicht vergessen, die Variable zuvor zu definieren.
Stimme renet zu ^^
Allerdings kann man die Sache mit den deutschsprachigen Wochentagen weit besser lösen:
// deutsche Wochentage
$wt = array(“Sonntag”,
“Montag”,
“Dienstag”,
“Mittwoch”,
“Donnerstag”,
“Freitag”,
“Samstag”);
// Wochentag ausgeben
echo $wt[date("w",time())];
Ist wesentlich ressourcen-schonender und außerdem kürzer.