date_date_set în PHP

Dată și oră PHP 5.2+

Setează anul, luna și ziua unui obiect DateTime și păstrează ora.

Sintaxă
date_date_set(DateTime $object, int $year, int $month, int $day): DateTime

Ce face date_date_set

Forma de funcție a metodei DateTime::setDate(). Ordinea parametrilor este an, lună, zi. Datele care nu există sunt mutate mai departe, ca la mktime: 30 februarie devine 2 martie (sau 1 martie în anii bisecți).

Parametri

Parametru Descriere
$object Obiectul DateTime modificat.
$year, $month, $day Anul, luna și ziua.

Ce returnează

Același obiect, modificat.

Exemple

Exemplul 1: Schimbarea datei, cu ora păstrată

<?php
$d = date_create("2026-10-19 18:00");

date_date_set($d, 2026, 12, 24);
echo date_format($d, "d.m.Y H:i") . "\n";

date_date_set($d, 2027, 2, 30);
echo date_format($d, "d.m.Y H:i");

Rezultat

24.12.2026 18:00
02.03.2027 18:00

Greșeli frecvente

  • Te aștepți la o eroare pentru o dată imposibilă. Data este mutată în luna următoare fără avertisment. Validează înainte cu checkdate.

Comenzi înrudite

  • date_time_set: Setează ora, minutul și secunda unui obiect DateTime, fără să schimbe ziua.
  • date_isodate_set: Setează data după anul ISO, numărul săptămânii și ziua din săptămână (1 = luni).
  • checkdate: Verifică dacă o dată există în calendar, de exemplu că 29 februarie apare doar în anii bisecți.