PHP  »  Guide  »  Guida PHP di base 

Gestire le date in PHP



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:

CodiceDescrizione
Yanno su 4 cifre
yanno su 2 cifre
nmese numerico (1-12)
mmese numerico su 2 cifre (01-12)
Fmese testuale ('January' - 'December')
Mmese testuale su 3 lettere ('Jan' - 'Dec')
dgiorno del mese su due cifre (01-31)
jgiorno del mese (1-31)
wgiorno della settimana, numerico (0=dom, 6=sab)
lgiorno della settimana, testuale ('Sunday' - 'Saturday' )
Dgiorno della settimana su 3 lettere ('Sun' - 'Sat')
Hora su due cifre (00-23)
Gora (0-23)
iminuti su due cifre (00-59)
ssecondi su due cifre (00-59)

La funzione date() 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 passiamo 14, PHP lo interpreterà come 12+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.

Vediamo quindi qualche esempio anche per queste funzioni:

// $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)

Ultimi articoli PHP

Sessioni PHP: cosa sono, come si usano

Dalla configurazione di PHP, alla gestione delle sessioni in un...

Continuous Integration: automatizziamo i client con Phing

Continuous Integration: automatizziamo i client con Phing. Esempi...

Archiviazione delle applicazioni PHP con Phar

Come incorporare intere applicazioni PHP all'interno di un singolo...

I traits in PHP 5.4

Cosa sono, a cosa servono e come si unsano i traits, la novità per...

PHP 5.4: il web server integrato

Impara ad usare il web server integrato nella versione 5.4 di PHP:...

Altri articoli

Guide PHP

Guida Yii Framework

Come creare applicazioni Web in modo semplice e veloce con il...

Guida Applicazioni Facebook con PHP

Come realizzare un'applicazione per Facebook. Dalle basi della...

Guida PHP con Windows e IIS

Installare ambienti per lo sviluppo e la produzione di applicazioni...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso PHP per Webmaster

11 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti