
이 문제를 해결하기 위해서는 DateTimeImmutable::sub 메서드의 반환값을 검사하여, 1일 전의 날짜가 저장되지 않은 경우를 대비하는 코드를 추가해야 합니다.
예를 들어, 다음과 같이 코드를 수정할 수 있습니다.
#hostingforum.kr
php
$datetime = new DateTimeImmutable('2022-01-31');
$datetimeSub = $datetime->sub(new DateInterval('P1D'));
if ($datetime->format('Y-m-d') !== $datetimeSub->format('Y-m-d')) {
// 1일 전의 날짜가 저장되지 않은 경우를 대비하는 코드를 추가합니다.
$datetimeSub = $datetime->sub(new DateInterval('P1D'));
}
또는, 다음과 같이 코드를 수정할 수 있습니다.
#hostingforum.kr
php
$datetime = new DateTimeImmutable('2022-01-31');
$datetimeSub = $datetime->sub(new DateInterval('P1D'));
while ($datetime->format('Y-m-d') === $datetimeSub->format('Y-m-d')) {
$datetimeSub = $datetime->sub(new DateInterval('P1D'));
}
이러한 코드를 추가함으로써, `$datetimeSub` 변수의 값을 항상 1일 전의 날짜로 저장하도록 할 수 있습니다.
2025-03-24 20:14