Ce face DateTime::createFromTimestamp
Un timestamp Unix este numărul de secunde de la 1 ianuarie 1970, ora 00:00 UTC. Înainte de PHP 8.4 scriai new DateTime("@1700000000") sau (new DateTime())->setTimestamp(...). Metoda statică createFromTimestamp face asta direct și acceptă și float, pentru microsecunde.
Obiectul rezultat are fusul orar UTC (+00:00). Pentru ora României apelează apoi setTimezone(new DateTimeZone("Europe/Bucharest")).
Parametri
| Parametru | Descriere |
|---|---|
$timestamp |
Secunde de la 1970-01-01 00:00:00 UTC. Un float păstrează și fracțiunea de secundă. |
Ce returnează
Un obiect DateTime (sau DateTimeImmutable) nou.
Exemple
Exemplul 1: Timestamp din baza de date
<?php
$creat = DateTimeImmutable::createFromTimestamp(1761379200);
echo $creat->format("Y-m-d H:i:s P") . "\n";
echo $creat->setTimezone(new DateTimeZone("Europe/Bucharest"))->format("d.m.Y H:i");
Rezultat
2025-10-25 08:00:00 +00:00
25.10.2025 11:00
Exemplul 2: Fracțiuni de secundă
<?php
$d = DateTime::createFromTimestamp(1761379200.25);
echo $d->format("H:i:s.u");
Rezultat
08:00:00.250000
Greșeli frecvente
- Uiți că rezultatul este în UTC și afișezi ora cu 2 sau 3 ore în urmă față de ora României.
- Dai un timestamp în milisecunde (din JavaScript,
Date.now()) și obții o dată în viitorul îndepărtat. Împarte la 1000.
Comenzi înrudite
date_create / DateTime: Creează un obiect DateTime dintr-un text. Obiectele DateTime și DateTimeImmutable sunt modul modern de a lucra cu date în PHP.date: Afișează data și ora într-un anumit format.time: Returnează momentul curent ca număr de secunde de la 1 ianuarie 1970 (timestamp Unix).mktime: Construiește timestamp-ul Unix pentru o dată și o oră anume, din ore, minute, secunde, lună, zi și an.