Descrizione
int
mktime ( int 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".
Esempio 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".
Esempio 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).
Guarda anche date() e time().