mktime

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 ) heißt , 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ühren .

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( ) .