W3docs

cal_info()

La funzione date() di PHP consente di formattare date e orari in vari modi, con parametri personalizzabili per ogni esigenza.

date()

Introduzione

La funzione date() è una delle funzioni integrate di PHP più utilizzate per formattare date e orari. Questa guida illustra i suoi parametri, esempi d'uso e come risolvere i problemi più comuni.

Panoramica della funzione date() di PHP

La funzione date() è una funzione integrata in PHP che consente di formattare la data e l'ora in vari modi. Accetta due parametri: la stringa di formato e il timestamp. La stringa di formato specifica come devono essere formattati data e ora, mentre il timestamp è opzionale e indica il timestamp da formattare. Se il timestamp non viene specificato, vengono utilizzati la data e l'ora correnti.

Parametri della funzione date()

La stringa di formato utilizzata nella funzione date() può contenere vari caratteri di formato che vengono sostituiti con i valori corrispondenti per formattare data e ora. Alcuni dei caratteri di formato più comunemente usati sono:

  • d: Giorno del mese (da 01 a 31)
  • m: Mese (da 01 a 12)
  • Y: Anno (quattro cifre)
  • H: Ora nel formato 24 ore (da 00 a 23)
  • i: Minuti (da 00 a 59)
  • s: Secondi (da 00 a 59)
  • l: Rappresentazione testuale completa del giorno della settimana (domenica–sabato)

Nota: i caratteri di formato sono sensibili alle maiuscole. Ad esempio, d restituisce il giorno con zero iniziale (01–31), mentre D restituisce il giorno come abbreviazione testuale (Mon–Sun). Analogamente, l (L minuscola) fornisce il nome completo del giorno, mentre L indica se l'anno è bisestile (1 o 0).

Esempi di utilizzo

Vediamo alcuni esempi di utilizzo della funzione date() per formattare data e ora:

echo date("Y/m/d"); // outputs: 2023/03/02
echo date("H:i:s"); // outputs: 14:35:22
echo date("Y-m-d H:i:s"); // outputs: 2023-03-02 14:35:22

È anche possibile passare un timestamp opzionale come secondo parametro per formattare un momento specifico nel tempo:

echo date("Y-m-d", 1677724800); // outputs: 2023-03-02 (UTC)

Nota: il timestamp 1677724800 rappresenta un momento specifico in UTC. La data visualizzata cambierà se il fuso orario predefinito del server differisce da UTC.

Come si può vedere, la stringa di formato può essere personalizzata per restituire data e ora in vari formati.

Risoluzione dei problemi comuni

Esistono alcuni problemi comuni che gli sviluppatori possono incontrare durante l'utilizzo della funzione date(). Ecco i più frequenti con le relative soluzioni:

  • Caratteri di formato non riconosciuti: date() restituisce letteralmente qualsiasi carattere di formato non riconosciuto invece di generare un errore. Assicurarsi di usare caratteri di formato validi dalla documentazione ufficiale di PHP.
  • Limiti dell'intervallo del timestamp: nei sistemi a 32 bit, i timestamp al di fuori dell'intervallo 1970–2038 possono causare risultati imprevisti o overflow degli interi. Usare la classe DateTime per le date al di fuori di questo intervallo.
  • Avvisi sul fuso orario: in PHP 8.1+, chiamare date() senza un fuso orario configurato genera un avviso di deprecazione. Impostare il fuso orario all'inizio dello script usando date_default_timezone_set('UTC'); (o il fuso orario preferito).

Conclusione

In conclusione, la funzione date() di PHP è uno strumento potente che consente agli sviluppatori di formattare data e ora in vari modi. Grazie ai suoi parametri personalizzabili e alla facilità d'uso, è una scelta diffusa tra gli sviluppatori di tutto il mondo. Per operazioni su date e orari più complesse, si consiglia di utilizzare la classe moderna DateTime di PHP, che fornisce metodi orientati agli oggetti e una migliore gestione dei fusi orari. Seguendo le linee guida descritte in questo articolo, è possibile evitare i problemi più comuni e sfruttare al meglio questa versatile funzione.

Esercitazione

Pratica
Quali funzioni vengono utilizzate in PHP per restituire informazioni sul calendario specificato?
Quali funzioni vengono utilizzate in PHP per restituire informazioni sul calendario specificato?
Was this page helpful?