DateTime::createFromTimestamp în PHP

Dată și oră PHP 8.4+

Creează un obiect DateTime dintr-un timestamp Unix, inclusiv cu fracțiuni de secundă, în fusul UTC.

Sintaxă
DateTime::createFromTimestamp(int|float $timestamp): static
DateTimeImmutable::createFromTimestamp(int|float $timestamp): static

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.