PHP -> Funkcie -> Dátum a čas funkcie PHP -> funkcia mktime
Syntax
int mktime ( [int hodina [, int minuta [, int sekunda [, int mesiac [, int den [, int rok [, int is_dst] ] ] ] ] ] ] )
Popis
Funkcia PHP.
mktime - get UNIX timestamp for a date
Varovanie: Všimnite si zvláštne poradie argumentov, ktoré sa líši od poradia argumetov v regulérnom UNIXovom mktime() volaní a ktorá sama sebe dobre neumožňuje vynechávanie parametrov z prava do ľava (porzri nižšie). Je bežnou chybou miešať tieto hodnoty v skripte.
Vracia Unixový timestamp zodpovedajúci daným argumentom. Timestamp je long integer, ktorý obsahuje počet sekúnd medzi Unixovou Epochou (1. Január 1970) a určeným časom.
Argumenty sa môžu vynechať v poradí z prava do ľava; všetky argumenty takto vynechané budú nastavené na aktuálnu hodnotu, ktorá zodpovedá miestnemu dátumu a času.
is_dst môže byť nastavený na 1 ak je čas počas letného času, 0 ak nie je, alebo -1 (default) ak nie je známe, či je čas v letnom čase alebo nie. Ak nie je známy, PHP sa ho samo pokúša zistiť. Toto môže spôsobiť neočakávané (ale nie nesprávne) výsledky.
Poznámka: is_dst bol pridaný v 3.0.10.
mktime() je užitočný pre aritmetizáciu dátumu a validáciu, nakoľko aicky vypočíta správnu hodnotu pre vstup mimo-rozsah.
Príklad 1
echo date("M-d-Y",
mktime(0,0,0,12,32,2007
));
echo date("M-d-Y",
mktime(0,0,0,13,1,2007
));
echo date("M-d-Y",
mktime(0,0,0,1,1,2008
));
/*Každý z riadkov vypíše "Jan-01-2008"*/
Príklad 2
$zajtra = mktime (0,0,0,date("m") ,date("d")+1,date("Y"));
$minulyMesiac = mktime (0,0,0,date("m")-1,date("d"), date("Y"));
$buduciRok = mktime (0,0,0,date("m"), date("d"), date("Y")+1);
Pozri aj
date, time