| Funktion | Bedeutung |
| checkdate | Prüft ob sich ein Ausdruck als Datumswert interpretieren läßt. |
| date | Formatiert ein Datum. Die Funktion liefert zudem das aktuelle Tagesdatum (das Systemdatum des Servers), wenn kein Datumswert angegeben wird (beispielsweise mit mktime, siehe unten) |
| getdate | Liefert ein Array mit Datums- und Zeitwerten |
| gmmktime | Erzeugt einen GMT- Zeit/ Datumswert (Zeitstempel) |
| mktime | Erzeugt einen Zeit/ Datumswert (Zeitstempel) |
| gettimeofday | Ermittelt die aktuelle Tageszeit als assoziatives Array. |
| strftime | Formatiert Zeitangaben. |
| time | Ermittelt die aktuelle Systemzeit. |
Mit der Date Funktion wird das aktuelle Tagesdatum des Servers ausgegeben. Durch die Reihenfolge der Formatsymbole , erhält man die gewünschte Anzeige. Im zweiten Beispiel wurde anstatt des Punktes ein Schrägstrich und Leerzeichen gesetzt.
| 22.05.2012 22 / 05 / 12 |
<?php echo date("d.m.Y") ?> <?php echo date("d / m / y") ?> |
| Anzeige | Symbol | Bedeutung |
| 13 | H | Stunde im 24 Stunden Format |
| 01 | h | Stunde im 12 Stunden Format |
| pm | a | am und pm |
| PM | A | AM und PM |
| 54 | i | Minuten |
| 53 | s | Sekunden |
| 22 | d | Tag des Monats als zweistellige Ziffer |
| 22 | j | Tag des Monats ohne führende Null bei einstelligem Tagesdatum |
| Tue | D | Wochentag in abgekürzter (englischer Schreibweise) |
| Tuesday | l (L) | vollständiger Wochentag |
| 2 | w | Wochentag als Zahl (0=Sonntag) |
| 05 | m | Zweistellige Monatsangabe |
| May | F | Monatsname in englisch |
| May | M | Monatsname (abgekürzte englische Schreibweise) |
| 31 | t | Zahl der Tage eines Monats |
| 12 | y | zweistellige Jahreszahl |
| 2012 | Y | vierstellige Jahreszahl |
| 142 | z | Tag des Jahres von 1 bis 365 |
Mittels checkdate() läßt sich überprüfen, ob es sich um gültige
Datumswerte handelt, die Argumente, sind in der Reihenfolge: Monat, Tag, Jahr
|
ein gültiges Datum kein Datum |
<?php if (checkdate(1,20,98)){ echo "ein gültiges Datum"; } echo "<br>"; if (checkdate(13,50,98)==false){ echo "kein Datum"; } ?> |
Will man mit Datumswerten rechnen, kann man mit mktime() einen Zeitstempel erzeugen, um ein bestimmtes Datum festzulegen. mktime() benötigt 6Argumente: Stunde, Minute, Sekunde, Monat, Tag, Jahr. Als siebtes Argument ist noch Sommerzeit (true) möglich. Die Funktion wird im folgenden Beispiel in die Datumsfunktion eingefügt.
| 22.11.2002 | <?php echo date("d.m.Y", mktime(1,1,1,11,22,2002)); ?> |
| 15.07.2012 | <?php echo date("d.m.Y",mktime(1,1,1,date(m),date(d)+54,date(Y))); ?> |
Die getdate() Funktion erzeugt
ein Array, dass alle Datumswerte liefert. Mit bestimmten Schlüsselworten
kann man auf die Teile des Datums zugreifen.
Ein Datum vor dem 1.1.1970 erzeugt einen Fehler.
| 23. March.1991 10:30 1Sek | <?php $Wert =getdate(mktime(10,30,1,03,23,1991) ); echo $Wert["mday"], ". "; echo $Wert["month"], "."; echo $Wert["year"], " "; echo $Wert["hours"], ":"; echo $Wert["minutes"], " "; echo $Wert["seconds"], "Sek "; ?> |
| Schlüsselworte | Bedeutung |
| mday | Tag |
| month | Monat (Name) |
| mon | Monat (Zahl) |
| year | Jahr |
| hours | Stunde |
| minutes | Minute |
| seconds | Sekunde |
| wday | Wochentag (Zahl) |
| weekday | Wochentag (Name) |
| Tuesday 22. May.2012 13:54 53 Sek | <?php $Jetzt =getdate(); echo $Jetzt["weekday"], " "; echo $Jetzt["mday"], ". "; echo $Jetzt["month"], "."; echo $Jetzt["year"], " "; echo $Jetzt["hours"], ":"; echo $Jetzt["minutes"], " "; echo $Jetzt["seconds"], " Sek "; ?> |
|
Dienstag den 22. Mai 2012 13:54 Uhr 53 Sek |
| <?php $wochentag = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"); $monat = array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"); $Jetzt =getdate(); echo $wochentag[$Jetzt["wday"]], " den "; echo $Jetzt["mday"], ". "; echo $monat[$Jetzt["mon"]-1], " "; echo $Jetzt["year"], " <br> "; echo $Jetzt["hours"], ":"; echo $Jetzt["minutes"], " Uhr "; echo $Jetzt["seconds"], " Sek "; ?> |
| Dienstag | <?php echo $wochentag[date("w")] ?> |
neben date() kann man auch time() verwenden und dieses dann mit strftime() formatieren. Hier werden ähnliche Formatsymbole wie bei date erwartet, jedoch am Anfang mit dem Prozentzeichen. Ohne Formatierung, wird hier wieder die Anzahl der Sekunden seit dem 1.1.1970 angegeben.
| 1337687693 | <?php echo time()?> |
| 1337694893 | <?php echo gmmktime()?> |
| 13:54:53 | <?php echo strftime("%H:%M:%S", time())?> |
gettimeofday() liefert ein assosiatives array, wie man es schon von getdate her kennt. Es gibt 4 Elemente. Für die Formatierung wurde die date-Funktion verwendet.
|
1337687693 943443 0 0 13:54:53 |
<?php $Zeitwerte = gettimeofday(); echo $Zeitwerte("sec"), "<br>"; echo $Zeitwerte("usec"), "<br>"; echo $Zeitwerte("minuteswest"), "<br>"; echo $Zeitwerte("dsttime"), "<br>"; echo date("H:i:s", $Zeitwerte["sec"]); ?> |
| gettimeofday | |
| Elemente | Bedeutung |
| sec | Sekunden |
| usec | Microsekunden |
| minuteswest | zeitliche Abstand zu GMT |
| dsttime | Korrekturfaktor zur Sommerszeit |
Im folgenden Beispiel wird die Systemzeit zu 2 verschiedenen Zeitpunkten ausgelesen
und voeinander subtrahiert. Die Funktion sleep() verzögert die folgendenden
Anweisungen, um die eingegebenen Sekunden. Die Formatierung mittels date erzeugt
immer einen Datumswert.
| 00:05 | <?php $Start=time(); sleep(5); $Ende=time(); $Zeit=$Ende-$Start; echo date("i:s", $Zeit); ?> |