Stabilire data ed ora con php.
ALLWEB free
Directory Web Script Linguaggi
Italiano Inglese Tutte
 
 20 Feb 2017
aggiungi in preferiti  
Home    Mappa directory    Script




Data ed orario con php:

Una sezione particolare deve essere indirizzata all'analisi della data e dell'orario con php.
Se avete prodotto degli script complessi, vi sarete resi conto che le funzioni per stabilire un'orario o data ben precisa rivestono un'importanza basilare, sia perchè riempiono spazi che altresì sarebbero vuoti nella pagina dando informazioni aggiuntive al navigatore, sia perchè permettono di organizzare i dati secondo una logica temporale (dal più giovane al più vecchio e viceversa) ritornando anche il momento preciso della loro creazione.

La seconda motivazione è sicuramente quella che più ci interessa, immaginiamo un foglio RSS con contenuti di attualità senza la data dell'articolo o senza un suo ordine in tal senso...


Timestamp

Il timestamp non è altro che il numero di secondi a partire da una data ben precisa, il 1° Gennaio 1970, e serve come punto di riferimento per risalire a tutte le date.
Quando hai aperto questa pagina il timestamp era 1487588922, vuol dire che dal 01/01/1970 sono passati 1487588922 secondi.

Se dovete memorizzare una data DOVETE memorizzare il suo timestamp, dal quale potrete risalire alla data.
Questo perchè esistono più formati data, e nel tempo potreste avere la necessità di modificare o eseguire funzioni per modificare la stessa; è buona norma memorizzare il timestamp e trovare il formato con la giusta funzione nel momento necessario.

ESEMPIO PRATICO DI UTILIZZO FUNZIONI DATA:
Avete un form di registrazione utenti convalidato tramite email. NON è detto che tutti gli utenti convalidino la loro registrazione ed è inutile tenere in archivio i dati di tali utenti.
Una soluzione potrebbe essere memorizzare il timestamp di registrazione e fare eseguire un semplice ciclo if che cancella tutti i dati che superano una certa quantità di secondi ad ogni nuovo utente che vuole registrarsi.
Ricordate di utilizzare i secondi, un giorno=86400 secondi.



time()

Quando vogliamo trovare il timestamp attuale dobbiamo eseguire la funzione time().
Time() restituisce il numero di secondi a partire dal 1° Gennaio 1970. Tale numero è chiamato timestamp.

Esempio:
<?
$a=time();
echo$a;
?>
Risultato:
timestamp attuale = 1487588922


date()

Questa funzione restituisce la data di un preciso momento, nel formato indicato al suo interno.
La sintassi è la seguente:
date('parametri', $X);
$X è una variabile definita in precedenza che contiene il valore numerico del timestamp a cui ci riferiamo. Se non è presente ci riferiamo a quello attuale.

I parametri che inseriremo forniranno il formato data che desideriamo.

Parametro Descrizione
Y anno in 4 cifre
y anno in 2 cifre
n mese numero (1-12)
m mese numero in 2 cifre (01-12)
F mese testuale ('January' - 'December')
M mese testuale su 3 lettere ('Jan' - 'Dec')
d giorno su due cifre (01-31)
j giorno (1-31)
w giorno settimanale, numerico (0=dom, 1=lun ecc.)
l giorno settimanale, testuale ('Sunday', 'monday', ecc.)
D giorno settimanale in 3 lettere ('Sun', 'mon', ecc.)
H ora in due cifre (00-23)
G ora (0-23)
i minuti (00-59)
s secondi (00-59)

La funzione date()restituisce una stringa (la data di un preciso momento).

Esempio:
$b = date('d M y - H:i', 132170400);
echo$b;
Darà come risultato: 10 Mar 74 - 19:00
Da notare che i segni '-' e ':' li abbiamo inseriti nella funzione.

Esempio:
Utilizzo di date() con il timestamp attuale(Se aggiornate la pagina varia l'esempio):
<?
$a=time();
$b=date('d M y - H:i:s', $a);
echo$b;
?>
Darà come risultato: 20 Feb 17 - 12:08:42


mktime()

Questa funzione fornisce il timestamp di una data ben precisa (inserire solo numeri interi).
La sintassi è la seguente:
mktime(ore, minuti, secondi, mese, giorno, anno);

Se inseriamo numeri superiori a quelli usuali il PHP calcola automaticamente il risultato finale, se ad esempio inseriamo 20 nei mesi verrà interpretato come 12+8, fornendo il timestamp dell'agosto dell'anno successivo.

Questa funzione restituisce un numero (il timespamp di una data precisa).

Esempio:
Utilizzo di mktime() con una data casuale (10-03-1974 ore 19:00):
<?
$b=mktime(19,00,00,3,10,1974);
echo$b;
?>
Darà come risultato: 132170400


checkdate()

Questa funzione controlla se i valori corrispondono ad una data corretta, è molto utile se la data è inserita dal navigatore.
La sintassi è la seguente:
checkdate(mese, giorno, anno);
Restituisce true o false.

Esempio:
<?
$a=checkdate(32, 1, 2007);
if($a){
echo"true";
}
else{
echo"false";
}
?>
Darà come risultato: false