Cs
23. PHP - date_diff(날짜 차이 계산), D-day계산
ITSEONG
2022. 5. 17. 20:58
오늘은 php에서 날짜 차이를 계산하는 법에 대해 알아보려 한다.
date_diff($datetime1, $datetime2);
$datetime1, $datetime2의 날짜 차이를 구할 수 있다. 예를 통해 알아보자
첫 번째 예시
$datetime1 = date_create('2016-01-01');
$datetime2 = date_create('2016-05-30');
$interval = date_diff($datetime1, $datetime2);
DateInterval Object
(
[y] => 0
[m] => 4
[d] => 28
[h] => 0
[i] => 0
[s] => 0
[f] => 0
[weekday] => 0
[weekday_behavior] => 0
[first_last_day_of] => 0
[invert] => 0
[days] => 150
[special_type] => 0
[special_amount] => 0
[have_weekday_relative] => 0
[have_special_relative] => 0
)
위 두 날짜는 4달 하고 28일의 차이가 있으며 일수로는 150일이다.
두 번째 예시
$datetime1 = date_create('2016-05-27');
$datetime2 = date_create('2016-06-05');
$interval = date_diff($datetime1, $datetime2);
DateInterval Object
(
[y] => 0
[m] => 0
[d] => 9
[h] => 0
[i] => 0
[s] => 0
[f] => 0
[weekday] => 0
[weekday_behavior] => 0
[first_last_day_of] => 0
[invert] => 0
[days] => 9
[special_type] => 0
[special_amount] => 0
[have_weekday_relative] => 0
[have_special_relative] => 0
)
위 날짜는 9일 차이가 난다. d, days의 숫자가 같다. 한 가지의 예를 더 살펴보자.
세 번째 예시
$datetime1 = date_create('2016-05-27');
$datetime2 = date_create('2016-06-28');
$interval = date_diff($datetime1, $datetime2);
DateInterval Object
(
[y] => 0
[m] => 1
[d] => 1
[h] => 0
[i] => 0
[s] => 0
[f] => 0
[weekday] => 0
[weekday_behavior] => 0
[first_last_day_of] => 0
[invert] => 0
[days] => 32
[special_type] => 0
[special_amount] => 0
[have_weekday_relative] => 0
[have_special_relative] => 0
)
위의 날짜는 1달 하고 1일 총 32일의 차이가 난다.
이를 통해 d는 한 달 안에서는 days와 같지만 한 달이 넘어가면 m에 1이 카운팅 되고 새로이 카운팅이 된다.
날짜의 차이를 계산하고 싶을 때는 days를 사용하면 될 것이다.
$datetime1 = date_create('2016-05-27');
$datetime2 = date_create('2016-06-28');
$interval = date_diff($datetime1, $datetime2);
$interval['days']
//또는
$interval = date_diff($datetime1, $datetime2)->days;
//두가지중 하나를 사용하면 D-day를 구할 수 있다.
두 가지중 한 가지를 사용하면 D-day를 구할 수 있을 것이다.
반응형