Exodus - PHP School

OPERAZIONI CON DATE E ORARI


La funzione date(format[,timestamp]) restituisce data e orario come indicato dal parametro obbligatorio format. Il parametro opzionale timestamp è una variabile numerica che contiene il numero di secondi trascorsi dalla mezzanotte del 1 gennaio 1970 (GMT). Se il parametro timestamp è omesso vengono restituiti la data e l'orario correnti. Ecco alcuni esempi:

Friday 19 December 2025 - 04:48:05 - +0100 Europe/Zurich
Thursday 1 January 1970 - 01:00:00 - +0100 Europe/Zurich
December è un mese di 31 giorni
2025-12-19T04:48:05+01:00
Fri, 19 Dec 2025 04:48:05 +0100
Swatch internet time: 200
UNIX timestamp: 1766116085

TABELLA CON LE LETTERE DA UTILIZZARE NEL PARAMETRO FORMAT

d Giorno del mese con zero iniziale (da 01 a 31)
D Giorno della settimana in tre lettere (Mon, Tue, etc.)
j Giorno del mese senza zero iniziale (da 1 a 31)
l Nome completo del giorno della settimana (Moonday, Tuesday, etc.)
N Rappresentazione numerica del giorno della settimana (1 per Lunedì, 7 per Domenica)
S Suffisso ordinale inglese del giorno del mese (st, nd, etc.) da usare con "j"
w Rappresentazione numerica del giorno della settimana (0 per Domenica, 6 per Sabato)
z Numero di giorno dell'anno (da 1 a 365)
W Numero della settimana nell'anno
F Nome completo del mese (January, February, etc.)
m Numero del mese con zero iniziale (da 01 a 12)
M Nome del mese in tre lettere (Jan, Feb, etc.)
n Numero del mese senza zero iniziale (da 1 a 12)
t Numero di giorni nel mese
L Anno bisestile (0 per no, 1 per sì)
o Anno nel formato ISO-8601
Y Anno rappresentato con 4 cifre
y Anno rappresentato con 2 cifre
a Indicatore AM/PM minuscolo
A Indicatore AM/PM maiuscolo
B Ora in formato Swatch internet time (da 000 a 999)
g Ora in formato 12 ore senza zero iniziale (da 1 a 12)
G Ora in formato 24 ore senza zero iniziale (da 0 a 23)
h Ora in formato 12 ore con zero iniziale (da 01 a 12)
H Ora in formato 24 ore con zero iniziale (da 00 a 23)
i Minuti con zero iniziale (da 00 a 59)
s Secondi con zero iniziale (da 00 a 59)
u Microsecondi (dalla versione 5.2.2 di PHP)
e Identificativo della timezone (UTC, GMT, Atlantic/Azores, etc.)
I Ora legale (0 per no, 1 per sì)
O Differenza con l'ora GMT nel formato +0100
P Differenza con l'ora GMT nel formato HH:MM (a partire dalla versione 5.1.3 di PHP)
T Abbreviazione di tre lettere della timezone (EST, MDT, etc.)
Z Offset della timezone in secondi
c Data e ora nel formato ISO-8601 (ad esempio 2013-05-05T16:34:42+00:00)
r Data e ora nel formato RFC 282 (ad esempio Fri, 12 Apr 2013 12:01:05 +0200)
U UNIX timestamp in secondi


La funzione mktime(hour,minute,second,month,day,year) restituisce in una variabile numerica il valore UNIX timestamp corrispondente ai valori di data e orario immessi come parametro. Va ricordato che il valore UNIX timestamp è il numero di secondi trascorsi dalla mezzanotte del 1 gennaio 1970 GMT.

Ad esempio la funzione mktime(17,41,10,3,4,1943) restituisce come risultato -846659930.
NB: il risultato è un valore negativo perché la data immessa è precedente all'anno 1970.

Come controprova è possibile utilizzare la funzione date("r",-846659930) e constatare che restituisce Thu, 04 Mar 1943 17:41:10 +0100.


La funzione strtotime(time[,now]) cerca di convertire la stringa di testo time in valore numerico UNIX timestamp. Il parametro opzionale now permette di indicare un valore UNIX timestamp da cui partire per le operazioni di calcolo. Negli esempi che seguono il valore UNIX timestamp ottenuto viene convertito nel formato RFC 282per renderlo facilmente leggibile:

strtotime("1943-3-4") restituisce Thu, 04 Mar 1943 00:00:00 +0100
strtotime("now") restituisce Fri, 19 Dec 2025 04:48:05 +0100
strtotime("+5 days 8 hours 10 seconds") restituisce Wed, 24 Dec 2025 12:48:15 +0100
strtotime("next saturday") restituisce Sat, 20 Dec 2025 00:00:00 +0100
strtotime("last sunday") restituisce Sun, 14 Dec 2025 00:00:00 +0100

Prova la funzione strtotime: con il parametro format:
Risultato:
torna all'indice