strtotime în PHP

Transformă o dată scrisă ca text (inclusiv expresii ca „+1 week”) în timestamp.

Sintaxă
strtotime(string $text, ?int $baza = null): int|false

Ce face strtotime

strtotime înțelege multe formate de dată, dar și expresii în limba engleză: "tomorrow", "+3 days", "next monday", "last day of this month".

Dacă nu poate înțelege textul, returnează false.

Parametri

Parametru Descriere
$text Data sau expresia de transformat.
$baza Opțional. Momentul de la care se calculează expresiile relative.

Ce returnează

Timestamp-ul sau false.

Exemple

Exemplul 1: O dată fixă

<?php
date_default_timezone_set("Europe/Bucharest");

$t = strtotime("2026-12-25");
echo date("d.m.Y", $t);

Rezultat

25.12.2026

Exemplul 2: Calcule relative față de o dată

<?php
date_default_timezone_set("Europe/Bucharest");

$start = strtotime("2026-10-19");

echo date("d.m.Y", strtotime("+1 week", $start)) . "\n";
echo date("d.m.Y", strtotime("next friday", $start)) . "\n";
echo date("d.m.Y", strtotime("last day of this month", $start));

Rezultat

26.10.2026
23.10.2026
31.10.2026

Exemplul 3: Câte zile au trecut

<?php
$inscriere = strtotime("2026-01-01");
$azi = strtotime("2026-10-19");

echo floor(($azi - $inscriere) / 86400) . " zile";

Rezultat

291 zile

Greșeli frecvente

  • Dai o dată în format românesc, "19.10.2026". PHP o poate interpreta greșit. Folosește formatul Y-m-d (2026-10-19).
  • Nu verifici dacă rezultatul este false când textul vine de la utilizator.

Comenzi înrudite

  • 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).