Funzione data() e ora PHP: come ottenere il timestamp corrente?
⚡ Riepilogo intelligente
La funzione PHP date() formatta i timestamp in date e orari leggibili. Questa guida illustra la sintassi delle date, il timestamp Unix, come elencare e impostare i fusi orari, la funzione mktime per la creazione di timestamp e fornisce un riferimento completo dei caratteri di formato per ora, giorno, mese e anno.

Funzione PHP date()
La funzione `date` di PHP è una funzione integrata che semplifica la gestione dei dati di tipo data. Viene utilizzata per formattare una data o un'ora in un formato leggibile. Può essere utilizzata, ad esempio, per visualizzare la data di pubblicazione di un articolo o per registrare l'ultima data di aggiornamento dei dati in un database.
Sintassi ed esempio della data PHP
La funzione PHP date() ha la seguente sintassi di base.
<?php date(format,[timestamp]); ?>
QUI,
- “date(…)” è la funzione che restituisce il timestamp corrente formattato in PHP sul server.
- "formato" indica il formato generale che desideriamo per il nostro output, ad esempio:
- "Ymd" per il formato data PHP YYYY-MM-DD
- “Y” per visualizzare l'anno corrente
- “[timestamp]” è facoltativo. Se non viene fornito alcun timestamp, PHP utilizzerà la data e l'ora correnti del server.
Vediamo un semplice esempio che mostra l'anno corrente.
<?php echo date("Y"); ?>
Produzione:
2026
Cos'è un TimeStamp?
Un timestamp in PHP è un valore numerico in secondi tra l'ora corrente e il valore all'1st Gennaio 1970, ore 00:00:00, fuso orario di Greenwich (GMT).
Il valore restituito dalla funzione temporale dipende dal fuso orario predefinito.
Il fuso orario predefinito è impostato nel file php.ini. Può anche essere impostato a livello di codice utilizzando la funzione date_default_timezone_set.
Il codice seguente visualizza il timestamp corrente.
<?php
echo time();
?>
Supponendo che tu abbia salvato il file timestamp.php nella cartella phptuts, vai al URL http://localhost/phptuts/timestamp.php
Nota: il valore del timestamp non è costante. Cambia ogni secondo.
Ottenere un elenco di identificatori di fuso orario disponibili
Prima di esaminare come impostare il fuso orario predefinito a livello di programmazione, vediamo come ottenere un elenco dei fusi orari supportati.
<?php $timezone_identifiers = DateTimeZone::listIdentifiers(); foreach($timezone_identifiers as $key => $list){ echo $list . "<br/>"; } ?>
QUI,
- “$timezone_identifiers = DateTimeZone::listIdentifiers();” richiama il metodo statico listIdentifiers della classe integrata DateTimeZone. Il metodo listIdentifiers restituisce un elenco di identificatori assegnati alla variabile $timezone_identifiers.
- “foreach{…}” scorre l’array e stampa i valori.
Supponendo che tu abbia salvato il file list_time_zones.php nella cartella phptuts, vai al file URL http://localhost/phptuts/list_time_zones.php
PHP imposta il fuso orario in modo programmatico
La funzione date_default_timezone_set consente di impostare il fuso orario predefinito da uno script PHP.
Il fuso orario impostato verrà quindi utilizzato da tutte le date funzioni PHP nei tuoi script. Ha la seguente sintassi.
<?php date_default_timezone_set(string $timezone_identifier); ?>
QUI,
- “date_default_timezone_set()” è la funzione che imposta il fuso orario predefinito
- "string $timezone_identifier" è l'identificatore del fuso orario
Lo script seguente visualizza l'ora in base al fuso orario predefinito impostato in php.ini. Successivamente, cambia il fuso orario predefinito in Asia/Calcutta e visualizza nuovamente l'ora.
<?php echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s"); date_default_timezone_set("Asia/Calcutta"); echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s"); ?>
Supponendo che tu abbia salvato il file set_time_zone.php nella cartella phptuts, vai al file URL http://localhost/phptuts/set_time_zone.php
Funzione PHP Mktime
La funzione mktime restituisce il timestamp in a Unix formato.
La sintassi è la seguente.
<?php mktime(hour, minute, second, month, day, year, is_dst); ?>
QUI,
- “mktime(…)” è la funzione di marcatura temporale di PHP
- “ora” è facoltativo; è il numero dell’ora
- “minuto” è facoltativo; indica il numero di minuti
- “secondo” è facoltativo; indica il numero di secondi
- “mese” è facoltativo; indica il numero del mese
- “giorno” è facoltativo; è il numero del giorno
- “anno” è facoltativo; è il numero dell’anno
- Il parametro “is_dst” è facoltativo e viene utilizzato per determinare l'ora legale. Il valore 1 indica se è in vigore l'ora legale, 0 se non lo è e -1 se non è noto.
Vediamo ora un esempio che crea un timestamp per la data 13/10/2025 utilizzando la funzione mktime.
<?php
echo mktime(0,0,0,10,13,2025);
?>
QUI,
- “0,0,0” rappresenta rispettivamente l’ora, il minuto e il secondo.
- "10" è il mese dell'anno
- “13” è il giorno del mese
- “2025” è l’anno
Produzione:
1760328000
Riferimento al formato data in PHP
Le tabelle seguenti mostrano i caratteri di formato più comuni utilizzati quando si lavora con le funzioni di data di PHP.
Parametri temporali
| Parametro | Descrizione | Esempio |
|---|---|---|
| "R" | Restituisce la data e l'ora complete |
<?php echo date("r"); ?> |
| “a”, “A” | Restituisce se l'ora corrente è rispettivamente am o pm, AM o PM |
<?php echo date("a"); echo date("A"); ?> |
| “g”, “G” | Restituisce rispettivamente l'ora senza zeri iniziali [da 1 a 12], [da 0 a 23]. |
<?php echo date("g"); echo date("G"); ?> |
| “h”, “H” | Restituisce l'ora con zeri iniziali [da 01 a 12], [da 00 a 23] rispettivamente |
<?php echo date("h"); echo date("H"); ?> |
| "È" | Restituisce i minuti/secondi con zeri iniziali [da 00 a 59] |
<?php echo date("i"); echo date("s"); ?> |
Parametri giornalieri
| Parametro | Descrizione | Esempio |
|---|---|---|
| "D" | Restituisce il giorno del mese con zeri iniziali [da 01 a 31] |
<?php echo date("d"); ?> |
| "J" | Restituisce il giorno del mese senza zeri iniziali [da 1 a 31] |
<?php echo date("j"); ?> |
| “D” | Restituisce le prime 3 lettere del nome del giorno [da domenica a sabato] |
<?php echo date("D"); ?> |
| "l" | Restituisce il nome del giorno della settimana [da domenica a sabato]. |
<?php echo date("l"); ?> |
| "Nel" | Restituisce il giorno della settimana senza zeri iniziali [da 0 a 6]; la domenica è rappresentata da zero (0) fino al sabato rappresentato da sei (6) |
<?php echo date("w"); ?> |
| "Z" | Restituisce il giorno dell'anno senza spazi iniziali [da 0 a 365] |
<?php echo date("z"); ?> |
Parametri mensili
| Parametro | Descrizione | Esempio |
|---|---|---|
| “M” | Restituisce il numero del mese con zeri iniziali [da 01 a 12] |
<?php echo date("m"); ?> |
| "N" | Restituisce il numero del mese senza zeri iniziali [da 1 a 12] |
<?php echo date("n"); ?> |
| “M” | Restituisce le prime 3 lettere del nome del mese [da gennaio a dicembre] |
<?php echo date("M"); ?> |
| "F" | Restituisce il nome del mese [da gennaio a dicembre] |
<?php echo date("F"); ?> |
| "T" | Restituisce il numero di giorni in un mese [da 28 a 31] |
<?php echo date("t"); ?> |
Parametri dell'anno
| Parametro | Descrizione | Esempio |
|---|---|---|
| "L" | Restituisce 1 se è un anno bisestile e 0 se non lo è. |
<?php echo date("L"); ?> |
| "Y" | Restituisce l'anno nel formato a quattro cifre |
<?php echo date("Y"); ?> |
| "Y" | Restituisce l'anno nel formato a due cifre (da 00 a 99). |
<?php echo date("y"); ?> |



