Funzione mktime() e time()
 
La funzione mktime() restituisce un numero intero (long) corrispondente al numero di secondi intercorsi tra la data attuale e la Unix Epoch (1 gennaio 1970). Questo valore viene chiamato Unix timestamp e risulta estremamente utile per fare operazioni con le date (trattandosi in fin dei conti di un numero).
L'ordine dei parametri della funzione è il seguente (i valori omessi saranno impostati con l'attuale valore accordandolo alla data e orario locale): 
int mktime (int $hour, int $minute, int $second, int $month, int $day, int $year [, int $is_dst ])
is_dst può essere impostato su 1 se l'orario è nell'ora legale 0 altrimenti; -1 (di default) se è sconosciuta la presenza dell'ora legale o meno. Se non settato, PHP proverà ad impostarlo da se. Questo può causare un risultato non aspettato (ma non sbagliato).
 
Mktime può anche fare calcoli nel caso il valore dato sia fuori dell'intervallo possibile (ad esempio un valore di 35 per il mese) o anche valori negativi. L'esempio seguente restituisce, in tutti e quattro i casi, la stringa "01-Jan-1998". 
echo date ("d-M-Y", mktime (0,0,0,12,32,1997));
echo date ("d-M-Y", mktime (0,0,0,13,1,1997));
echo date ("d-M-Y", mktime (0,0,0,1,1,1998));
echo date ("d-M-Y", mktime (0,0,0,1,1,98));

La funzione time() restituisce invece più semplicemente l'attuale timestamp, ovvero l'attuale data ed orario calcolato in numero di secondi dalla Unix Epoch (January 1 1970 00:00:00 GMT).
int time (void)
Ultimo aggiornamento ( marted́ 04 dicembre 2007 )