Salta ai contenuti
Manuale LogoManuale Logo

Date e tempo

Una data sembra semplice, ma può includere giorno, mese, anno, ora, minuti, secondi e fuso orario. PHP offre DateTime per gestire questi dati in modo ordinato.

<?php
$oggi = new DateTime();
echo $oggi->format('d/m/Y');

new DateTime() crea un oggetto con data e ora attuali. format stabilisce come visualizzarlo.

<?php
$scadenza = new DateTime('2026-06-15');
echo $scadenza->format('d/m/Y');

Output:

15/06/2026

Il fuso orario indica a quale zona del mondo si riferisce l’orario.

<?php
$roma = new DateTime('now', new DateTimeZone('Europe/Rome'));
echo $roma->format('H:i');

Usare il fuso corretto evita risultati inattesi, soprattutto nei siti usati da persone in paesi diversi.

Un timestamp è un numero che rappresenta un momento nel tempo.

<?php
echo time();

È utile per i confronti tecnici, ma nel codice DateTime è spesso più chiaro.

<?php
$oggi = new DateTime('2026-05-02');
$scadenza = new DateTime('2026-05-10');
if ($oggi < $scadenza) {
echo "Sei ancora in tempo";
}

PHP confronta i due momenti e stabilisce quale viene prima.

Con modify puoi spostare una data in avanti o indietro.

<?php
$scadenza = new DateTime('2026-05-02');
$scadenza->modify('+7 days');
echo $scadenza->format('d/m/Y');

Output:

09/05/2026

È utile per scadenze, promemoria e periodi di prova.

<?php
$inizio = new DateTime('2026-05-02');
$fine = new DateTime('2026-05-10');
$differenza = $inizio->diff($fine);
echo $differenza->days;

Output:

8

diff restituisce un intervallo. La proprietà days contiene il numero totale di giorni tra le due date.

Date come 05/06/2026 possono essere lette come 5 giugno o 6 maggio, a seconda del contesto. Quando crei date nel codice, preferisci formati chiari come 2026-06-05.