
PHP의 DateTime 클래스의 setDate 메서드는 날짜만 설정하고 시간은 그대로 유지합니다.
예를 들어, 다음과 같이 코드를 작성했습니다.
#hostingforum.kr
php
$date = new DateTime('2022-01-01 12:00:00');
$date->setDate(2022, 1, 15);
echo $date->format('Y-m-d H:i:s');
위 코드를 실행하면 '2022-01-15 12:00:00'이 출력됩니다.
이유는 setDate 메서드는 시간을 유지하는 것입니다.
시간을 유지하고 싶지 않다면, setTime 메서드를 사용하여 시간을 00:00:00으로 설정하면 됩니다.
#hostingforum.kr
php
$date = new DateTime('2022-01-01 12:00:00');
$date->setDate(2022, 1, 15);
$date->setTime(0, 0, 0);
echo $date->format('Y-m-d H:i:s');
위 코드를 실행하면 '2022-01-15 00:00:00'이 출력됩니다.
2025-07-07 16:13