A DateTime osztály setDate metódusa

A setDate metódus megváltoztatja a dátumot a DateTime objektumban. Három paramétert fogad: év (egész szám), hónap (egész szám 1-től 12-ig) és nap (egész szám 1-től 31-ig). Visszaadja a módosított DateTime objektumot.

Szintaxis

phppublic DateTime::setDate(int $year, int $month, int $day): DateTime

Példa

Állítsunk be egy új dátumot: 2023. március 15.:

php<?php
  $date = new DateTime();
  $date->setDate(2023, 3, 15);
  echo $date->format('Y-m-d');
?>

A kód végrehajtásának eredménye:

php'2023-03-15'

Példa

Automatikus korrekció helytelen dátumok esetén (32. január átalakul 1. februárrá):

php<?php
  $date = new DateTime();
  $date->setDate(2023, 1, 32);
  echo $date->format('Y-m-d');
?>

A kód végrehajtásának eredménye:

php'2023-02-01'

Példa

Dátum beállítása negatív értékekkel (átmenet az előző évre):

php<?php
  $date = new DateTime();
  $date->setDate(2023, -1, 15);
  echo $date->format('Y-m-d');
?>

A kód végrehajtásának eredménye:

php'2022-11-15'

Lásd még

  • a checkdate függvényt,
    amely a dátum helyességét ellenőrzi
  • a date függvényt,
    amely formázza a megadott dátumot
  • a modify függvényt,
    amely relatív formátumú sztring alapján módosítja a dátumot