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)));?>



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.
[...] 2 Sekunden google habe ich schonmal das gefunden. K