Stabilire data ed ora con php.
ALLWEB free
Web Directory Script Linguaggi
Italiano Inglese Tutte
 
 13 Mar 2010
rss directory aggiungi in preferiti  
Home    Mappa directory    Giochi    XXXDirectory    Script    Forum




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 1268519658, vuol dire che dal 01/01/1970 sono passati 1268519658 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 = 1268519658


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: 13 Mar 10 - 23:34:18


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







Warning: Unknown: write failed: Disk quota exceeded (122) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/home/allweb/tmp/) in Unknown on line 0