Salta ai contenuti

Date e tempo

Una data sembra semplice, ma puo includere giorno, mese, anno, ora, minuti, secondi e fuso orario. PHP offre DateTime per gestirle in modo piu ordinato.

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

new DateTime() crea un oggetto con data e ora attuali. format decide come mostrarlo.

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

Output:

15/06/2026

Il fuso orario dice 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 giusto evita risultati strani, soprattutto nei siti usati da persone in paesi diversi.

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

<?php
echo time();

E utile per confronti tecnici, ma per codice leggibile spesso DateTime e piu 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 decide quale viene prima.

Con modify puoi spostare una data avanti o indietro.

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

Output:

09/05/2026

Questo e 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 proprieta 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.