PHP에서 두 날짜를 일치시키는 것은 두 날짜가 유사한 형식일 때 매우 매끄럽지만 두 날짜가 관련 없는 형식일 때 PHP는 분석에 실패했습니다. 이 기사에서는 PHP에서 날짜 비교의 다양한 경우에 대해 설명합니다. 날짜를 비교할 때 DateTime 클래스, strtotime()을 활용하는 방법을 알아보겠습니다.
사례 1:
주어진 날짜가 비슷한 형식이면 간단한 비교 연산자로 날짜를 분석할 수 있습니다.
<?php $date1 = "2018-11-24"; $date2 = "2019-03-26"; if ($date1 > $date2) echo "$date1 is latest than $date2"; else echo "$date1 is older than $date2"; ?>
출력:
2019-03-26 is latest than 2018-11-24
설명:
여기에서 동일한 형식으로 두 날짜 $date1 및 $date2를 선언했습니다. 그래서 우리는 날짜를 비교하기 위해 비교 연산자(>)를 사용했습니다.
사례 2:
주어진 날짜가 그 시점에서 다양한 형식이면 strtotime() 함수를 사용하여 주어진 날짜를 UNIX 타임스탬프 형식으로 변환하고 이러한 숫자 타임스탬프를 분석하여 예상 결과를 얻을 수 있습니다.
예:
<?php $date1 = "18-03-22"; $date2 = "2017-08-24"; $curtimestamp1 = strtotime($date1); $curtimestamp2 = strtotime($date2); if ($curtimestamp1 > $curtimestamp2) echo "$date1 is latest than $date2"; else echo "$date1 is older than $date2"; ?>
출력:
18-03-22 is latest than 2017-08-24
설명:
이 예에서는 형식이 다른 두 개의 날짜가 있습니다. 그래서 우리는 미리 정의된 함수 strtotime()을 사용하여 숫자형 UNIX 타임스탬프로 변환한 다음 이러한 타임스탬프를 비교하기 위해 다른 비교 연산자를 사용하여 원하는 결과를 얻습니다.
사례 3:
DateTime 클래스의 객체를 생성하여 두 날짜를 비교합니다.
예:
<?php $date1 = new DateTime("18-02-24"); $date2 = new DateTime("2019-03-24"); if ($date1 > $date2) { echo 'datetime1 greater than datetime2'; } if ($date1 < $date2) { echo 'datetime1 lesser than datetime2'; } if ($date1 == $date2) { echo 'datetime2 is equal than datetime1'; } ?>
출력:
datetime1 lesser than datetime2
설명:
이 예제에서는 두 개의 DateTime 개체를 만들었습니다. 이 두 날짜를 비교하기 위해 서로 다른 비교 연산자를 사용하여 원하는 결과를 얻습니다.