
1. DateTimeImmutable::sub 메서드는 현재 날짜에서 지정된 기간만큼의 시간을 뺀 날짜를 반환하는 메서드입니다.
2. 위에서 제공한 코드는 정상적으로 작동합니다. 현재 날짜에서 1일, 1주, 1개월 전의 날짜를 계산하여 반환합니다.
3. DateInterval 클래스는 시간 간격을 표현하는 클래스입니다.
4. DateInterval 클래스는 다음과 같은 속성을 사용하여 시간을 계산할 수 있습니다.
- P1D : 1일
- P1W : 1주
- P1M : 1개월
- P1Y : 1년
- PT1H : 1시간
- PT1M : 1분
- PT1S : 1초
예를 들어, 1일 전의 날짜를 계산하려면 DateInterval('P1D')를 사용하면 됩니다.
#hostingforum.kr
php
$now = new DateTimeImmutable();
$oneDayAgo = $now->sub(new DateInterval('P1D'));
echo $oneDayAgo->format('Y-m-d H:i:s') . "n";
DateInterval 클래스의 속성을 사용하여 시간을 계산할 수 있습니다.
#hostingforum.kr
php
$now = new DateTimeImmutable();
$oneDayAgo = $now->sub(new DateInterval('P1D'));
$oneWeekAgo = $now->sub(new DateInterval('P1W'));
$oneMonthAgo = $now->sub(new DateInterval('P1M'));
$oneYearAgo = $now->sub(new DateInterval('P1Y'));
$oneHourAgo = $now->sub(new DateInterval('PT1H'));
$oneMinuteAgo = $now->sub(new DateInterval('PT1M'));
$oneSecondAgo = $now->sub(new DateInterval('PT1S'));
echo "1일 전: " . $oneDayAgo->format('Y-m-d H:i:s') . "n";
echo "1주 전: " . $oneWeekAgo->format('Y-m-d H:i:s') . "n";
echo "1개월 전: " . $oneMonthAgo->format('Y-m-d H:i:s') . "n";
echo "1년 전: " . $oneYearAgo->format('Y-m-d H:i:s') . "n";
echo "1시간 전: " . $oneHourAgo->format('Y-m-d H:i:s') . "n";
echo "1분 전: " . $oneMinuteAgo->format('Y-m-d H:i:s') . "n";
echo "1초 전: " . $oneSecondAgo->format('Y-m-d H:i:s') . "n";
2025-07-27 22:05