0Pricing
PHP Academy · Lezione

Timestamp Unix e date()

Ottenere l'ora corrente come timestamp Unix e formattarla con date().

Timestamp Unix e date() è una lezione PHP Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento PHP Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso PHP Academy include 4 lezioni in totale.

Il tempo in PHP

PHP rappresenta il tempo come un timestamp Unix, ovvero il numero di secondi trascorsi dal 1° gennaio 1970 alle 00:00:00 UTC (l'epoca Unix). Funzioni chiave:

  • time() — timestamp Unix corrente
  • date($format, $timestamp) — formatta un timestamp
  • mktime() — crea un timestamp a partire dai componenti della data

time()

Ottenga il timestamp Unix corrente:

<?php
$now = time();
echo $now;           // e.g. 1716800000
echo gettype($now);  // integer

// 1 day in seconds
$tomorrow = time() + 86400;
$yesterday = time() - 86400;

echo date('Y-m-d', $tomorrow);  // tomorrow's date

Caratteri di formato di date()

Caratteri di formato comuni per date():

  • Y — anno a 4 cifre: 2024
  • m — mese con zero iniziale: 01–12
  • d — giorno con zero iniziale: 01–31
  • H — ora in formato 24 ore con zero iniziale
  • i — minuti con zero iniziale
  • s — secondi
  • D — nome abbreviato del giorno: Mon
  • N — giorno della settimana secondo ISO: 1=Mon, 7=Sun

Formattare le date

Utilizzi date() per formattare i timestamp:

<?php
$ts = time();

echo date('Y-m-d', $ts);           // 2024-05-27
echo date('d/m/Y', $ts);           // 27/05/2024
echo date('D, d M Y H:i:s', $ts);  // Mon, 27 May 2024 14:30:00
echo date('c', $ts);               // ISO 8601: 2024-05-27T14:30:00+00:00
echo date('U', $ts);               // Unix timestamp (same as time())

mktime()

Crei un timestamp a partire da componenti specifici di data e ora:

<?php
// mktime(hour, min, sec, month, day, year)
$ts = mktime(0, 0, 0, 12, 25, 2024);  // Christmas 2024 midnight
echo date('Y-m-d', $ts);  // 2024-12-25

// Last day of month trick:
$lastDay = mktime(0, 0, 0, 3, 0, 2024);  // day 0 = last day of Feb
echo date('Y-m-d', $lastDay);  // 2024-02-29 (leap year)

strtotime()

strtotime() converte una stringa di data leggibile dall'utente in un timestamp:

<?php
echo strtotime('2024-12-25');       // timestamp
echo strtotime('next Monday');      // next Monday's timestamp
echo strtotime('+1 week');          // 7 days from now
echo strtotime('last day of this month');  // end of month
echo strtotime('2024-01-01 +3 months');   // April 1, 2024

Aritmetica delle date con strtotime

Calcoli date relative utilizzando le espressioni relative di strtotime:

<?php
$subscriptionStart = strtotime('2024-01-15');
$oneYearLater = strtotime('+1 year', $subscriptionStart);
$trialEnd = strtotime('+14 days');

echo date('Y-m-d', $oneYearLater);  // 2025-01-15
echo date('Y-m-d', $trialEnd);      // 14 days from today

// Days until event:
$event = strtotime('2024-12-31');
$daysLeft = (int) (($event - time()) / 86400);
echo "Days until NYE: $daysLeft";

Timestamp e database

Memorizzi le date nel database come stringhe ISO o timestamp Unix:

<?php
// Store as ISO string (recommended for readability):
$created_at = date('Y-m-d H:i:s');  // '2024-05-27 14:30:00'

// Store as Unix timestamp (fast integer comparison):
$created_ts = time();  // 1716800000

// Convert back:
$ts = strtotime($created_at);
$fmt = date('Y-m-d H:i:s', $created_ts);

date_create e date_format

Alternative a oggetti a date() e strtotime():

<?php
$dt = date_create('2024-05-27');
echo date_format($dt, 'D, d M Y');  // Mon, 27 May 2024

date_modify($dt, '+30 days');
echo date_format($dt, 'Y-m-d');  // 2024-06-26

// Equivalent OO:
$dt2 = new DateTime('2024-05-27');
$dt2->modify('+30 days');
echo $dt2->format('Y-m-d');

checkdate()

Verifichi se una data è valida con checkdate():

<?php
var_dump(checkdate(2, 29, 2024));  // true (leap year)
var_dump(checkdate(2, 29, 2023));  // false (not leap year)
var_dump(checkdate(13, 1, 2024));  // false (no month 13)
var_dump(checkdate(1, 31, 2024));  // true

Microtime per il benchmarking

Utilizzi microtime(true) per misurare il tempo di esecuzione con precisione inferiore al secondo:

<?php
$start = microtime(true);

// Simulate work
for ($i = 0; $i < 100000; $i++) {}

$end = microtime(true);
$duration = ($end - $start) * 1000;  // milliseconds
echo sprintf('Took %.2f ms', $duration);

Verifica rapida

Che cosa restituisce la funzione PHP time()?

Riepilogo: timestamp Unix e date()

Punti chiave:

  • time() — timestamp Unix corrente
  • date($format, $ts) — formatta qualsiasi timestamp
  • mktime() — crea un timestamp dai componenti della data
  • strtotime() — analizza le date leggibili dall'utente
  • Utilizzi il formato ISO 8601 per memorizzare i dati nel database
  • microtime(true) per misurare il tempo ad alta risoluzione

Domande Frequenti

La lezione «Timestamp Unix e date()» è gratuita?

Sì — il testo completo di «Timestamp Unix e date()» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso PHP Academy, passa a CoddyKit PRO. Il corso PHP Academy include 4 lezioni in totale.

Cosa imparerò in «Timestamp Unix e date()»?

Ottenere l'ora corrente come timestamp Unix e formattarla con date(). Eserciti PHP Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare PHP Academy?

Non è richiesta alcuna esperienza precedente. PHP Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Timestamp Unix e date()»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione PHP Academy?

Sì. Ogni lezione PHP Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Timestamp Unix e date()
  2. La classe DateTime
  3. Aritmetica delle date con DateInterval
  4. Fusi orari in PHP
← Torna a PHP Academy