PHP Handbuch
Zurück |  | Nach vorne

# mktime

(PHP 3, PHP 4 )

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 (January 1 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. Falls nicht bekannt ist (-1) ob Sommer- oder Winterzeit herrscht, versucht PHP selbst dies herauszufinden. Das kann zu unerwarteten (aber richtigen) Ergebnissen fügren.

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

mktime() ist hilfreich bei Datumsberechnungen und -überprüfungen, da automatisch das korrekte Datum für ungültige Angaben berechnet wird. 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));

Das `Jahr` darf zwei- oder vierstellig 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 `Jahr` 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