Date in PHP: sintassi, funzioni ed esempi pratici
Ad un certo punto della programmazione ci si imbatte nelle date in PHP. Saperle gestire nel modo corretto è fondamentale soprattutto per interfacciarsi al meglio con il database, MYSQL o MONGODB.
echo time();
// restituirà un valore simile a 146973810
In PHP non è possibile recuperare solamente il timestamp attuale, ma possiamo recuperarlo di qualsiasi data, anche nel passato.
echo strtotime("now");
// timestamp corrente
echo strtotime("20 December 2020");
// timestamp del 10 Dicembre 2020
echo strtotime("+1 day");
// timestamp del giorno successivo a quello corrente
Con questo timestamp sarà possibile effettuare delle operazioni o manipolare la data a nostro piacimento.
Per avere la data di oggi, ad esempio, sarà necessario scrivere:
$timestamp = strtotime("now");
echo date('d/m/Y H:i:s', $timestamp);
Il risultato sarà
25/12/2021 14:30:10
Formattazione delle date, come fare?
Un’altra operazione che spesso si conferma molto utile, soprattutto in casi specifici, è sicuramente cambiare il formato della data con uno che preferiamo.
Magari ti serve mostrare la data e l’ora di una certa data ai tuoi utenti con un formato diverso da “d/m/Y H:i:s“.
A tal proposito esistono dei segni (spesso rappresentati con le lettere), che ci permettono di gestire al meglio il formato finale della data.
Simbolo | Descrizione |
---|---|
d | indica i giorni in numeri. |
m | indica il mese in numeri. |
Y | Indica l’anno con il formato a 4 cifre. Es: 2022 |
h | indica le ore. |
i | indica i minuti. |
s | indica i secondi. |
La se non specificato, tutti i simboli aggiungeranno uno 0 (zero) iniziale se i numeri sono inferiori a 10.
Esistono poi diversi simboli sempre molto diffusi ed utilizzati:
Simbolo | Descrizione |
---|---|
D | Indica i primi 3 caratteri del giorno. |
j | corrisponde al simbolo “d”, ma non aggiunge uno zero ai numeri minori a 10. |
F | Indica il nome del mese completo in lettere. |
y | indica solo le ultime due cifre dell’anno. |
Infine, per impostare la lingua italiana, se sei su server Linux, ti basterà aggiungere in cima la tuo codice:
$localString = "it_IT"
setlocale(LC_TIME, $localString);
Let’s code!