English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo tutorial, imparerai come estrarre o formattare data e ora in PHP.
La funzione date() di PHP converte il timestamp in una data e ora più leggibili.
Il computer memorizza la data e l'ora in un formato chiamato timestamp UNIX, che misura il tempo in secondi dal primo gennaio 1970 (mezzanotte del 1 gennaio 1970, ad ora legale di Greenwich, ossia 00:00:00 GMT).
Poiché questo formato non è user-friendly per l'uomo, PHP converte il timestamp in un formato leggibile dall'uomo e trasforma la data dal tuo simbolo in un timestamp comprensibile dal computer. La sintassi della funzione può essere utilizzata.
date(format, timestamp)
La funzione date() includeformatIl parametro è obbligatorio per specificare il formato della data e dell'ora restituita. Tuttavia,timestampÈ un parametro opzionale, se non incluso, verrà utilizzato la data e l'ora corrente. La seguente frase mostra la data di oggi:
<?php $today = date("d/m/Y"); echo $today; ?>Testa a vedere‹/›
Attenzione:La funzione PHP date() restituisce la data e l'ora corrente in base all'orologio integrato del server web che esegue lo script.
Il parametro format della funzione date() è una stringa che può contenere più caratteri e consente di generare una stringa di data che include vari componenti della data e dell'ora, come il giorno della settimana, il mattino o il pomeriggio. Di seguito sono riportati alcuni caratteri di formattazione comuni nella stringa di formato relativi alla data:
d - Rappresenta il giorno del mese; numero con zero iniziale (01 o 31)
D - Rappresenta l'abbreviazione del giorno della settimana (lunedì a domenica)
m - Rappresenta il mese, numero con zero iniziale (01 o 12)
M - Rappresenta l'abbreviazione del mese (Gen a Dec)
y - Rappresenta l'anno con due cifre (08 o 14)
Y - Rappresenta l'anno con quattro cifre (2008 o 2014)
È possibile separare le parti della data inserendo altri caratteri (ad esempio trattini (-), punti (.), barre oblique (/) o spazi) per aggiungere altri formati visivi.
<?php echo "d/m/Y" . "<br>"; echo "d-m-Y" . "<br>"; echo "d.m.Y"; ?>Testa a vedere‹/›
Suggerimento:È possibile utilizzare la funzione PHP date() per aggiornare automaticamente la dichiarazione dei diritti d'autore sul sito web, ad esempio: Copyright © 2010-<?php echo date("Y")?>.
Inoltre, è possibile utilizzare i seguenti caratteri per formattare la stringa di data:
h - Rappresenta l'ora in formato 12 ore, con zero iniziale (01 a 12)
H - Rappresenta l'ora in formato 24 ore, con zero iniziale (00 a 23)
i - Rappresenta i minuti, con zero iniziale (00 a 59)
s - Rappresenta il secondo, con zero iniziale (00 a 59)
a - Rappresenta il mattino e il pomeriggio in minuscolo (mattina o pomeriggio)
A - Rappresenta il mattino e il pomeriggio in maiuscolo (mattina o pomeriggio)
Esempi di codice PHP elencati di seguito mostrano date in diversi formati:
<?php echo "h:i:s" . "<br>"; echo "F d, Y h:i:s A" . "<br>"; echo "h:i a"; ?>Testa a vedere‹/›
La funzione time() viene utilizzata per ottenere l'ora corrente come timestamp Unix (secondi trascorsi dall'era Unix: 1 gennaio 1970 00:00:00 GMT).
<?php //Tempo di esecuzione: 2014-03-05 07:19:18 $timestamp = time(); echo($timestamp); ?>Testa a vedere‹/›
L'esempio sopra produce l'output seguente.
1394003958
Passando un timestamp alla funzione date() precedentemente introdotta, possiamo convertirlo in una data leggibile dall'uomo.
<?php $timestamp = 1394003958; echo(date("Y-m-d H:i:s", $timestamp)); ?>Testa a vedere‹/›
L'esempio sopra produce l'output seguente.
2014-03-05 07:19:18
La funzione mktime() viene utilizzata per creare timestamp in base a una data e ora specifica. Se non vengono fornite la data e l'ora, viene restituito il timestamp della data e ora corrente.
La sintassi della funzione mktime() può essere fornita nel modo seguente:
mktime(hour, minute, second, month, day, year)
L'esempio seguente mostra il timestamp corrispondente all'ora 15:20:12 del 10 maggio 2014 pomeriggio:
<?php //Crea un timestamp per una data specifica echo mktime(15, 20, 12, 5, 10, 2014); ?>Testa a vedere‹/›
L'esempio sopra produce l'output seguente.
1399735212
Attenzione:Puoi mantenere quante parametri desideri, utilizzando i valori corrispondenti all'ora corrente. Se si omettono tutti i parametri, la funzione mktime() restituirà il timestamp corrispondente alla data e ora corrente, come time().
La funzione mktime() può essere utilizzata per trovare il nome del giorno della settimana corrispondente a una data specifica. Per fare questo, è sufficiente utilizzare il carattere 'l' (minuscolo di 'L') nel tuo timestamp, come nell'esempio seguente, che mostra il giorno 1 aprile 2014:
<?php //Ottieni il nome del giorno della settimana di una data specifica echo date('l', mktime(0, 0, 0, 4, 1, 2014)); ?>Testa a vedere‹/›
L'esempio sopra produce l'output seguente.
Martedì
La funzione mktime() può anche essere utilizzata per trovare una data specifica in un periodo specifico futuro. Come nell'esempio seguente, mostra la data 30 mesi dopo la data corrente?
<?php //La data di esecuzione è il 5 marzo 2014 $futureDate = mktime(0, 0, 0, date("m")+30, date("d"), date("Y")); echo date("d/m/Y", $futureDate); ?>Testa a vedere‹/›
L'esempio sopra produce l'output seguente.
05/09/2016
Si prega di consultare la sezione di riferimento delle funzioni di data/ora di PHP per ottenere l'elenco completo di tutte le funzioni di data/ora disponibili in PHP.