PHP Handbuch
Zurück |  | Nach vorne

# mktime

(PHP 3 <= 3.0.18, PHP 4 >= 4.0.0)

mktime -- Gibt den UNIX Timestamp/Zeitstempel für ein Datum zurück

## Beschreibung:

``int mktime` (int Stunde, int Minute, int Sekunde, int Monat, int Tag, int Jahr [, int is_dst])`

Warnung: Beachten sie die andersartige Anordnung der Argumente. Diese unterscheidet sich von der Reihenfolge des UNIX-Befehls mktime(). Das ist eine häufige Fehlerursache in Scripts.

Gibt den UNIX Timestamp/Zeitstempel an Hand der gegebenen Argumente zurück. Der Zeitstempel ist ein long-integer-Wert, der die Anzahl der Sekunden zwischen der UNIX Epoche (01.01.1970) und der angegebenen Zeit enthält.

Einzelne Argumente können von rechts nach links weggelassen werden. Sie werden dann ersetzt mit den Werten der lokalen Systemzeit bzw. des lokalen Systemdatums.

`is_dst` kann bei Sommerzeit auf 1 gesetzt werden. 0 bedeutet Winter-/Normalzeit, -1 (Vorgabewert) heisst, dass nicht bekannt ist, ob Sommer- oder Winterzeit herrscht.

> Anmerkung: `is_dst` wurde in 3.0.10. eingeführt.

mktime() ist hilfreich bei Datumsberechnungen und -überprüfungen, z.B. wird versucht, automatisch das korrekte Datum zu berechnen. So wird in den folgenden Beispielen immer die Zeichenkette "Jan-01-1998" ausgegeben.

Beispiel 1. mktime() Beispiel
    echo date ("M-d-Y", mktime(0,0,0,12,32,1997));
    echo date ("M-d-Y", mktime(0,0,0,13,1,1997));
    echo date ("M-d-Y", mktime(0,0,0,1,1,1998));
    echo date ("M-d-Y", mktime(0,0,0,1,1,98));

`year` darf auch zweistellig angegeben werden. Werte von 0 bis 69 stehen dann für die Jahre 2000 bis 2069, und 70 bis 99 für die Jahre von 1970-1999 (auf Systemen, die time_t als 32Bit-Integer abbilden, liegt der gültige Bereich für `year` zwischen 1902 und 2037).

Der letzte Tag eines gegebenen Monats kann als der Tag "0" des nächsten Monats ausgedrückt werden (nicht als der Tag "-1"). Jedes der folgenden Beispiele gibt die Zeichenkette "Letzter Tag im Feb. 2000 ist der 29." zurück.

Beispiel 2. Letzter Tag des nächsten Monats
    $lastday = mktime (0,0,0,3,0,2000);
    echo strftime ("Letzter Tag im Feb. 2000 ist der %d.", $lastday);

    $lastday=mktime(0,0,0,4,-31,2000);
    echo strftime ("Letzter Tag im Feb. 2000 ist der %d.", $lastday);

Datumsangaben, bei denen das Jahr, der Monat und Tag gleich `NULL` sind, werden als ungültig angesehen (ansonsten als 30.11.1999, was nicht gewollt sein kann).

Siehe auch date() und time().

Zurück | Zum Anfang | Nach vorne
microtime | Nach oben | strftime