mktime

(PHP 3, PHP 4 )

mktime -- Egy időpont UNIX időbélyegét állítja elő

Leírás

int mktime ( int hour, int minute, int second, int month, int day, int year [, int is_dst])

Figyeljé!!! Nézd meg, hogy az argumentumok sorrendje nem éppen szokásos, mert különbözik a hagyományos UNIX-os mktime()-étól, ezért nem igazán alkalmas arra, hogy lehagyd az utolsó néhány paramétert. Gyakori hiba scriptekben az argumentumok felcserélése.

Az argumentumok által megadott időpont UNIX időbélyegét adja. Ez tulajdonképpen egy nagy egész szám, a Unix Epoch (1970 Január 1.) és az adott idő közt eltelt másodpercek száma.

Jobbról elhagyhatsz argumentumokat; ezeket a php az aktuális helyi dátum és idő alapján pótolja.

Az Is_dst paramétert állíthatod 1-re, jelezve, hogy a nyári időszámításban vagy, 0-ra, hogy nem, vagy -1-re (ez az alapértelmezett), ha nem tudod.

Megjegyzés: Az Is_dst paraméter a 3.0.10.-es verzióban került a nyelvbe.

A mktime() függvény hasznos a dátumokkal való manipulálás, illetve dátumellenőrzés során, mivel automatikusan "korrekt" dátummá konvertálja a helytelenül megadott bemenetet.Példaul, az alábbi sorok mindegyike azt írja ki, hogy "Jan-01-1998".

Példa 1. mktime() példa

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));
A year 2 vagy 4 jegyű szám is lehet, ha értéke 0-69 között van, akkor a gép 2000-2069 közé teszi, ha 70-99 között van, 1970-1999-be rakja. (Azon rendszereken, ahol a time_t 32 bites egész, ami manapság a legelterjedtebb, a year paraméter helyes értéke kb. 1902 és 2037 között van).

Adott hónap utolsó napját a következő hónap "0." napjával fejezhetjük ki (NEM a -1.-kel!!!). Az alábbi két példa mind azt írja ki, hogy "2000 februárjának utolsó napja: 29".

Példa 2. Last day of next month

$lastday = mktime (0,0,0,3,0,2000);
echo strftime ("2000 februárjának utolsó napja: %d", $lastday);

$lastday = mktime (0,0,0,4,-31,2000);
echo strftime ("2000 februárjának utolsó napja: %d", $lastday);

Az olyan dátum, amelyben az év, hónap, és a nap is nulla, nem legális (máskülönben 1999. 11. 30.-ának kellene tekinteni, ami furcsa viselkedés lenne)

Lásd még a date() és a time() függvényeket.