두 날짜 비교하기

PHP:
두 날짜 비교하기

How to (방법)

PHP에서 날짜 비교는 DateTime 클래스와 > , < , == 연산자로 할 수 있습니다. 예제를 보죠.

<?php
$date1 = new DateTime("2023-04-01 10:00:00");
$date2 = new DateTime("2023-04-01 15:00:00");

if ($date1 < $date2) {
    echo "date1이 date2보다 일찍입니다.";
} else if ($date1 == $date2) {
    echo "date1과 date2가 같은 시간입니다.";
} else {
    echo "date1이 date2보다 늦습니다.";
}
?>

출력 결과:

date1이 date2보다 일찍입니다.

Deep Dive (깊이 알기)

초창기 PHP에서는 strtotime() 함수와 유닉스 타임스탬프를 사용하여 날짜를 비교했지만, DateTime 클래스가 도입되면서 더 직관적이고 강력한 방법을 제공합니다. DateTime는 시간대를 처리하고 더 복잡한 날짜 연산을 가능하게 해 줍니다. DateTimeImmutable는 값을 변경할 수 없는 DateTime의 변종으로, 변경될 위험 없이 날짜 시간을 다루길 원할 때 사용합니다. DateIntervalDatePeriod도 있지만, 그저 비교하는 거라면 DateTime만으로 충분합니다.

다른 방식으로는 DateTime::diff() 함수를 사용해 두 날짜의 차이를 DateInterval로 반환하여 비교할 수도 있습니다. 이 방법은 날짜 간의 정확한 기간 차이를 알고 싶을 때 유용합니다.

<?php
$date1 = new DateTime("2023-04-01 10:00:00");
$date2 = new DateTime("2023-04-02 10:00:00");

$interval = $date1->diff($date2);
echo $interval->format("%d days, %h hours, %i minutes");
?>

출력 결과:

1 days, 0 hours, 0 minutes

See Also (더 보기)