Please note that DateTime:setDate() accepts out-of-range values without warnings.
EG:
<?php
date_default_timezone_set('Europe/London');
$datetime = new DateTime('2008-08-03 14:52:10');
$datetime->setDate(2008, 13, 12);
?>
will reset the DateTime object's date to now. The best approach is to make a wrapper to setDate() which do check for out-of-range values.
DateTime::setDate
(PHP 5 >= 5.2.0)
DateTime::setDate — Sets the date
설명
Resets the current date of the DateTime object to a different date.
인수
- object
-
절차식 전용: date_create()가 반환하는 DateTime 객체.
- year
-
Year of the date.
- month
-
Month of the date.
- day
-
Day of the date.
반환값
Returns the modified DateTime.
예제
Example #1 Object oriented example usage
<?php
date_default_timezone_set('Europe/London');
$datetime = new DateTime('2008-08-03 14:52:10');
$datetime->setDate(2008, 10, 12);
echo $datetime->format(DATE_RFC2822);
?>
Example #2 Procedural example usage
<?php
date_default_timezone_set('Europe/London');
$datetime = date_create('2008-08-03 14:52:10');
date_date_set($datetime, 2008, 10, 12);
echo date_format($datetime, DATE_RFC2822);
?>
위 예제의 출력:
Sun, 12 Oct 2008 14:52:10 +0100
DateTime::setDate
melicerte at mailinator dot com
12-Oct-2009 09:12
12-Oct-2009 09:12
