(PHP 4, PHP 5)
mktime — Restituisce la UNIX timestamp per una data
$hour
, int $minute
, int $second
, int $month
, int $day
, int $year
[, int $is_dst
] )Attenzione: Nota lo strano ordine degli argomenti, che differiscono dal normale ordine degli argomenti in una normale chiamata UNIX mktime() e che non si presta bene a far comparire i parametri da destra a sinistra (guarda sotto). E' un comune errore la confusione di questi argomenti in uno script.
Restituisce la Unix timestamp corrispondente all'argomento dato. Questa timestamp è un intero lungo contenente il numero di secondi tra la Unix Epoch (January 1 1970) e la data e orario specificati.
Gli argomenti possono essere omessi nell'ordine da destra a sinistra; degli argomenti omessi saranno impostati con l'attuale valore accordandolo alla data e orario locale.
is_dst
può essere impostato su 1 se l'orario è
nell'ora legale, 0 altrimenti, o -1 (di default)
se è sconosciuta la presenza dell'ora legale o
meno. Se è sconosciuto, il PHP proverà ad impostarlo da se. Questo può
causare un risultato non aspettato (ma non sbagliato).
Nota:
is_dst
è stato aggiunto nella verisone 3.0.10.
mktime() è usata per fare calcoli tra date e validazioni, come può calcolare automaticamente il corretto valore per un valore fuori dall'intervallo valido. Per esempio, ognuna delle seguenti linee produce la stringa "Jan-01-1998".
Example #1 Esempio di mktime()
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));
Year
può avere sia 2 che 4 cifre,
con valori compresi tra 0-69 e 2000-2069 oppure tra 70-99 e
1970-1999 (sui sistemi dove time_t è un intero segnato a 32bit, come
sulla maggior parte dei PC di oggi, l'intervallo valido per
year
è tra 1902 e 2037).
L'ultimo giorno del mese dato può essere espresso come il giorno "0" del mese successivo, non come il giorno -1. Entrami i seguenti esempi produrranno la stringa "L'ultimo giorno di Feb 2000 è: 29".
Example #2 L'ultimo giorno del mese successivo
$lastday = mktime (0,0,0,3,0,2000);
echo strftime ("L'ultimo giorno di Feb 2000 è: %d", $lastday);
$lastday = mktime (0,0,0,4,-31,2000);
echo strftime ("L'ultimo giorno di Feb 2000 è: %d", $lastday);
Date con anno, mese e giorno uguali a 0 non sono considerate valide (altrimenti saranno considerate come 30.11.1999, quando hanno uno strano behavior).