PHP

Data E Ora

Fondamenti di PHP: Data e Ora (Funzioni date() e time())


⏰ Gestione di Data e Ora in PHP

Lavorare con la data e l'ora è essenziale in quasi tutte le applicazioni web (log, timestamp, scadenze). PHP fornisce diverse funzioni potenti per recuperare, formattare e manipolare questi valori.


1. Il Concetto di Timestamp (Unix Time)

Il Timestamp (o Unix Time) è un numero intero che rappresenta i secondi trascorsi dal 1° gennaio 1970. È il modo in cui i sistemi informatici memorizzano il tempo.

  • La funzione time() restituisce il timestamp corrente.
<?php
    $secondi = time();
    echo "Timestamp corrente: " . $secondi;
    // Output: Timestamp corrente: 1730000000
?>

2. Formattare la Data con date()

La funzione date() converte il timestamp (o l'ora attuale) in un formato leggibile, utilizzando una stringa di formato.

<?php
    // Formato breve (gg/mm/aaaa)
    echo "Data: " . date("d/m/Y") . "<br>";

    // Formato completo
    echo "Data completa: " . date("l, d F Y H:i:s");
?>

3. Codici di Formattazione Comuni
CodiceDescrizioneEsempio
dGiorno del mese (2 cifre)01–31
mMese (2 cifre)01–12
YAnno (4 cifre)2025
HOra (24h)00–23
iMinuti00–59
sSecondi00–59
lGiorno della settimanaMonday

4. Fuso Orario (Timezone)

Per mostrare la data corretta è fondamentale impostare il fuso orario con date_default_timezone_set().

<?php
    // Imposta il fuso orario su Roma
    date_default_timezone_set("Europe/Rome");
    echo "Ora attuale a Roma: " . date("H:i:s");
?>


LABORATORIO

Visualizzare l'ora in diversi paesi del mondo

In questo laboratorio imparerai a mostrare l'ora locale in varie città del mondo utilizzando la funzione date_default_timezone_set() e la formattazione con date().


1 Creare il file principale

Crea un file chiamato orario-mondiale.php e incolla il seguente codice:


<!DOCTYPE html>
<html lang="it">
<head>
    <meta charset="UTF-8">
    <title>Laboratorio - Ora nel mondo</title>
</head>
<body>
<h2>🌍 Ora locale in diverse città del mondo</h2>

<?php
$citta = [
    "Roma" => "Europe/Rome",
    "Londra" => "Europe/London",
    "New York" => "America/New_York",
    "Tokyo" => "Asia/Tokyo",
    "Sydney" => "Australia/Sydney",
    "Dubai" => "Asia/Dubai"
];

echo "<table border='1' cellpadding='6' cellspacing='0'>";
echo "<tr><th>Città</th><th>Fuso Orario</th><th>Ora Locale</th></tr>";

foreach ($citta as $nome => $zona) {
    date_default_timezone_set($zona);
    echo "<tr>";
    echo "<td><b>$nome</b></td>";
    echo "<td>$zona</td>";
    echo "<td>" . date("l, d M Y H:i:s") . "</td>";
    echo "</tr>";
}

echo "</table>";
?>

</body>
</html>
    

2 Personalizzare il formato

Prova a modificare la formattazione per visualizzare la data in modo diverso, ad esempio solo l'ora locale:


<?php
echo date("H:i"); // Mostra solo ore e minuti
?>
    

3 Aggiungere nuove città

Puoi facilmente aggiungere altre città modificando l'array $citta:


$citta["Los Angeles"] = "America/Los_Angeles";
$citta["Mosca"] = "Europe/Moscow";
$citta["Città del Capo"] = "Africa/Johannesburg";
    

4 Test e analisi

  • Salva il file e aprilo nel browser.
  • Controlla l'ora locale di ciascuna città.
  • Prova a cambiare il fuso orario predefinito con date_default_timezone_set("UTC") e osserva le differenze.