Frammenti di timestamp Unix in PHP
Esempi PHP per ottenere secondi Unix, generare millisecondi, formattare timestamp, convertire tra oggetti DateTime e parsare stringhe di data.
time()round(microtime(true) * 1000)date("Y-m-d H:i:s", 1700000000)date_default_timezone_set("America/New_York");
date("Y-m-d H:i:s", 1700000000);
// Or with DateTime:
$dt = new DateTime();
$dt->setTimestamp(1700000000);
$dt->setTimezone(new DateTimeZone("America/New_York"));
echo $dt->format("Y-m-d H:i:s");strtotime("2023-11-15 06:13:20 UTC")Basi dei timestamp in PHP
Il time() di PHP restituisce secondi Unix interi. Usa microtime(true) quando ti serve precisione sotto il secondo o vuoi derivare millisecondi Unix per API orientate a JavaScript.
Formattare le date in PHP
date() formatta i timestamp nel fuso predefinito del server, mentre gmdate() formatta in UTC. Per un lavoro esplicito sui fusi, usa DateTime con DateTimeZone così i deployment si comportano in modo coerente.
Note di produzione per PHP
Le applicazioni PHP spesso girano su hosting condiviso, container o worker con fusi predefiniti diversi. Tratta il default del server come un dettaglio implementativo. Memorizza secondi Unix o valori DateTime UTC nei dati persistenti, poi scegli un DateTimeZone nel punto in cui il timestamp viene formattato per un utente, un report o un'integrazione.
- Usa time() per secondi Unix interi in controller, job e script semplici
- Usa microtime(true) quando ti servono frazioni di secondo o precisione al millisecondo
- Usa gmdate() per una formattazione UTC stabile che ignora il fuso del server
- Usa DateTimeImmutable per codice che non deve mutare accidentalmente una data
FAQ
- time() include i millisecondi?
- No. time() restituisce secondi Unix interi. Usa microtime(true) se hai bisogno di frazioni di secondo o se devi calcolare un timestamp in millisecondi.
- Perché usare gmdate() invece di date()?
- gmdate() formatta il timestamp in UTC. date() usa il fuso orario configurato del server, che può cambiare tra sviluppo locale, container e hosting di produzione.
- Come verifico una conversione PHP?
- Converti lo stesso valore con gmdate('c', $timestamp), poi confrontalo con un convertitore di epoch indipendente o una funzione UTC del database prima di usarlo in una migrazione.