입력한 날짜나 취득해온 날짜를 비교하는 경우 문자열 그대로 비교를 하는 경우가 있습니다.
날짜 문자열 비교1
<?php
$date_time1 = '2019-05-23';
$date_time2 = '2019-05-23';
if($date_time1 == $date_time2)
{
echo '날짜가 같습니다.';
}
else
{
echo '날짜가 다릅니다. 다시 확인해주세요.';
}
?>
결과
날짜가 같습니다.
두 개의 날짜를 비교하는 예제입니다.
첫 번째 변수와 두 번째 변수에는 같은 날짜를 입력했습니다.
결과는 같다고 표시되었습니다.
다음 예제를 보겠습니다.
날짜 문자열 비교2
<?php
$date_time1 = '2019-05-23';
$date_time2 = '2019/05/23';
if($date_time1 == $date_time2)
{
echo '날짜가 같습니다.';
}
else
{
echo '날짜가 다릅니다. 다시 확인해주세요.';
}
?>
결과
날짜가 다릅니다. 다시 확인해주세요.
이번 결과는 날짜가 다르다고 표시되었습니다.
두 변수에 입력한 값은 같은 날짜이지만 날짜 형식이 다릅니다.
예제는 같은 날짜 인지 판단하기보다는 같은 문자열인지 판단하고 있는 것에 가깝습니다.
날짜 형식에 사용된 -와 /는 문자로 인식되기 때문에 날짜 형식이 다르면 비교를 할 수 없습니다.
날짜를 비교해야 하는 경우에는 DateTime 클래스 등을 이용하여 형식을 동일하게 한 다음 처리하도록 해야 합니다.
정리
날짜를 비교하기 위해서는 먼저 날짜 형식을 맞추거나, 날짜 타입으로 변환 후에 해야 합니다.
단순히 문자열 형태로 비교를 하게 되면 원하는 결과를 얻을 수 없습니다.
댓글