Possiamo facilmente gestirle tramite le semplici funzioni time(), date() o mktime(), vediamo in breve come funzionano!
La funzione time() restituisce un numero di 10 cifre, chiamato timestamp che equivalgono al numero di secondi passati dalla mezzanotte del 1 Gennaio 1970 ( GMT ) dalla data attuale in cui viene avviata questa funzione. Possiamo utilizzarla in questo modo:
//time() //diamo in output il timestam attuale echo 'Il timestamp attuale è ' . time(); //possiamo gestirlo come se fosse una variabile $time_attuale = time(); //possiamo ottenere il timestamp del giorno precedente alla data attuale $ieri = $time_attuale - 86400; //o del prossimo giorno $domani = = $time_attuale + 86400; // e come per la funzione vera e propria darlo in output echo 'Il timestamp di ieri era ' . $ieri; echo 'Il timestamp di domani sarà ' . $domani; |
Una nota importante: 1 giorno in secondi equivale a 86 400 secondi.
E se noi volessimo calcolare i secondi esatti da passata da una certa data e non dal 1970?
Una volta capito cos’è il timestamp possiamo quindi facilmente iniziare a gestire le nostre date, possiamo creare il timestamp ovvero il numero di secondi passati da una precisa data.
Ci viene in aiuto la funzione mktime() che ha questa sintassi
mktime( ora, min, sec, mese, giorno, anno );
Ecco alcuni esempi di come utilizzarla:
//mktime //è possibile calcolare il timestamp di una data precisa //ad esempio 12 Novembre 1987 alle 15:45:01 $data = mktime( 15, 45, 01, 11, 12, 1987 ); //o darlo in output echo mktime( 15, 45, 01, 11, 12, 1987 ); |
Ma cosa possiamo farcene di tutti questi secondi?? Possiamo trasformarli in una data traimite la seguente funzione
Con la funzione date() tranquillamente trasformare tutti questi timestamp in date facilmente comprensibili. Ecco la sua sintassi:
date( 'd - m - Y H:i', timestamp );
Questa funzione, datoci uno timestamp calcola, in questo caso, il giorno, il mese, l’anno, l’ora e i minuti precisi. Infatti i caratteri tra le virgolette determinano il formato della data scelta e se lo dessimo in output sarebbe il seguente:
04 - 05 - 2013 15:02
possiamo cambiare il formato a nostro piacimento, per una completa lista dei formati supportati vi rimando al Manuale in Italiano di PHP
Ecco vari esempi di come utilizzare la funzione date()
//date() //possiamo utilizzare vari formati ad esempio // gg/mm/aaaa echo date( 'd/m/Y' time() ); // gg/MESE/aa echo date( 'd/M/y' time() ); //oppure calcolare la data di un preciso momento echo date( 'd/m/Y' mktime(15, 45, 01, 11, 12, 1987) ); //oppure $data = mktime( 15, 45, 01, 11, 12, 1987 ); echo date( 'd/M/y' $data ); echo date( 'd/M/y' $data ); |
Nel caso non abbiate ben capito qualche passaggio vi invito a commentare qua sotto e a fare le vostre domande!
A presto!