Concludiamo questa panoramica sulle funzioni di PHP con qualche funzione sulla gestione di date e ore. Prima di cominciare, però, dobbiamo fare un accenno al timestamp, sul quale si basano queste funzioni. Il timestamp è un numero intero, in uso da tempo sui sistemi di tipo UNIX, che rappresenta il numero di secondi trascorsi a partire dal
1° gennaio 1970
. Ad esempio, il timestamp relativo alle 15.56.20 del 24 aprile 2003 è 1051192580
.Vediamo dunque queste funzioni e rimandiamo a questo articolo, in cui questa funzione viene analizzata approfonditamente:
time()
- È la più semplice di tutte, perchè fornisce il timestamp relativo al momento in cui viene eseguita. Restituisce un intero (timestamp).
date(formato [,timestamp])
- Considera il timestamp in input (se non è indicato, prende quello
attuale) e fornisce una data formattata secondo le specifiche indicate
nel primo parametro. Tali specifiche si basano su una tabella di cui
riassumiamo i valori più usati:
Codice Descrizione Y
anno su 4 cifre y
anno su 2 cifre n
mese numerico (1-12) m
mese numerico su 2 cifre (01-12) F
mese testuale ('January' - 'December') M
mese testuale su 3 lettere ('Jan' - 'Dec') d
giorno del mese su due cifre (01-31) j
giorno del mese (1-31) w
giorno della settimana, numerico (0=dom, 6=sab) l
giorno della settimana, testuale ('Sunday' - 'Saturday' ) D
giorno della settimana su 3 lettere ('Sun' - 'Sat') H
ora su due cifre (00-23) G
ora (0-23) i
minuti su due cifre (00-59) s
secondi su due cifre (00-59)
La funzionedate()
restituisce la stringa formattata che rappresenta la data. mktime(ore, minuti, secondi, mese, giorno, anno)
- È una funzione molto utile ma che va maneggiata con molta cura,
perchè i parametri che richiede in input (tutti numeri interi) hanno un
ordine abbastanza particolare, che può portare facilmente ad errori.
Sulla base di questi parametri,
mktime()
calcola il timestamp, ma l'aspetto più interessante è che possiamo utilizzarla per fare calcoli sulle date. Infatti, se ad esempio nel parametro mese passiamo14
, PHP lo interpreterà come12+2
, cioè "febbraio dell'anno successivo", e quindi considererà il mese come febbraio ed aumenterà l'anno di 1. Ovviamente lo stesso tipo di calcoli si può fare su tutti gli altri parametri. Restituisce un intero (timestamp). checkdate(mese, giorno, anno)
- Verifica se i valori passati costituiscono una data valida. Restituisce un valore booleano.
// $a riceve il timestamp del 24/4/2003 alle 15.56.20 $a = mktime(15,56,20,4,24,2003); // $b sarà "24 Apr 03 - 15:56" $b = date('d M y - H:i', $a); // timestamp delle ore 14 di 60 giorni dopo il 24/4/2003 $a = mktime(14,0,0,4,24+60,2003); $c = checkdate(5,1,2003); // vero $c = checkdate(19,7,2003); // falso (19 non è un mese) $c = checkdate(4,31,2003); // falso (31 aprile non esiste)
0 commenti:
Posta un commento
Proponi un'idea, segnalaci un problema.
Entra a far parte di CS3, pubblica i tuoi articoli.
Scrivi un commento!