두 날짜 사이의 차이 구하기
$from = new DateTime( '2022-01-01' );
$to = new DateTime( '2022-03-31' );
- diff 또는 date_diff로 차이를 구합니다.
echo $from -> diff( $to ) -> days;
echo date_diff( $from, $to ) -> days;
- 2022년 1월은 31일, 2월은 28일, 3월은 31일로 총 90일이다. 위의 방식으로 계산하면 89일이 나옵니다. 즉, 2022년 1월 1일부터 89일이 지나면 2022년 3월 31일이 되는 것입니다.
날짜 대소에 따라 마이너스 기호 붙이기
- $from과 $to를 아래와 같이 바꾸어도 89가 나옵니다. 즉, 차이를 구할 뿐 어떤 게 앞 날짜이고 어떤 게 뒷 날짜인지는 중요하지 않습니다.
$from = new DateTime( '2022-03-31' );
$to = new DateTime( '2022-01-01' );
- 만약 $from이 $to보다 클 때 -를 붙이고 싶다면 다음과 같이 조정합니다.
$from = new DateTime( '2022-03-31' );
$to = new DateTime( '2022-01-01' );
$a = $from -> diff( $to ) -> days;
if ( $from > $to ) { $a = '-' . $a; }
echo $a;