mktime

mktime -- Vrací UNIXové časové razítko pro datum/čas

Popis

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

Varování : Mějte na paměti podivné pořadí argumentů , které se liší od pořadí argumentů v běžném UNIXovém volání mktime( ) a které se příliš nehodí k vynechávání parametrů zprava doleva (viz níže ) . Je častou chybou míchat ve skriptu tyto hodnoty .

Vrací UNIXové časové razítko odpovídající daným argumentům . Toto časové razítko je typu " long integer " a odpovídá počtu sekund mezi Unix Epoch (1.1.1970 ) a specifikovaným časem .

Argumenty mohou být vynechávány zprava doleva ; každý vynechaný argument bude nastaven na aktuální hodnotu podle místního data a času .

is_dst může být 1 , patří-li daný čas do doby platnosti letního času , 0 , pokud nepatří , anebo -1 ( implicitní hodnota) , nelze-li zjistit , zda daný čas patří do období letního času (v tomto případě se PHP pokusí tuto hodnotu dosadit ; to může způsobit neočekávané - ale nikoli chybné - výsledky ) .

Poznámka : Parametr is_dst byl přidán v PHP 3.0.10 .

Funkce mktime( ) je užitečná pro aritmetiku a validaci časových údajů , neboť automaticky vypočítá správnou hodnotu pro vstupní data mimo povolený rozsah . Například každý z následujících řádků vypíše " Jan-01-1998 " .

Příklad 1 . Příklad - mktime( )




Year může být hodnota se dvěma nebo čtyřmi číslicemi, s hodnotami 0-69 mapovanými na 2000-2069 a 70-99 na 1970-1999 (na systémech, kde time_t je 32bitové celé číslo se znaménkem, jak je dnes obvyklé, budou platné hodnoty pro year někde mezi 1902 a 2037).

Poslední den daného měsíce může být vyjádřen jako den " 0 " měsíce příštího , nikoliv den -1 . Oba následující příklady vypíší řetězec " The last day in Feb 2000 is :

Příklad 2 . Poslední den měsíce






Datum s rokem , měsícem , a dnem rovnými nule je považováno za neplatné ( odpovídalo by 30.11.1999 , což je poněkud podivné chování ) .

Viz také date( ) a time( ) .