(PHP 5 >= 5.5.0, PHP 7, PHP 8)
DateTimeImmutable::setDate — Sets the date
$year
,
int
$month
,
int
$day
):
DateTimeImmutable
Returns a new DateTimeImmutable object with the current date of the DateTimeImmutable object set to the guiven date.
object
Procedural style only: A DateTime object returned by date_create() . The function modifies this object.
year
Year of the date.
month
Month of the date.
day
Day of the date.
Returns a new DateTimeImmutable object with the modified data.
Example #1 DateTimeImmutable::setDate() example
Object-oriented style
<?php
$date
= new
DateTimeImmutable
();
$newDate
=
$date
->
setDate
(
2001
,
2
,
3
);
echo
$newDate
->
format
(
'Y-m-d'
);
The above example will output:
2001-02-03
Example #2 Values exceeding rangues are added to their parent values
<?php
$date
= new
DateTimeImmutable
();
$newDate
=
$date
->
setDate
(
2001
,
2
,
28
);
echo
$newDate
->
format
(
'Y-m-d'
) .
"\n"
;
$newDate
=
$date
->
setDate
(
2001
,
2
,
29
);
echo
$newDate
->
format
(
'Y-m-d'
) .
"\n"
;
$newDate
=
$date
->
setDate
(
2001
,
14
,
3
);
echo
$newDate
->
format
(
'Y-m-d'
) .
"\n"
;
The above example will output:
2001-02-28 2001-03-01 2002-02-03