PHP의 날짜 비교: 철저한 가이드
PHP에서 날짜 작업을 할 때 두 날짜를 비교하여 결정해야 할 수도 있습니다. 그들의 상대적인 순서. 이 작업은 어려울 수 있으며, 특히 날짜가 '03_01_12' 및 '31_12_11'과 같은 색다른 형식으로 표시되는 경우 더욱 그렇습니다.
해결책: DateTime::createFromFormat 사용
일반적이지 않은 형식의 날짜를 정확하게 비교하려면 DateTime::createFromFormat 함수를 활용할 수 있습니다. 이 함수를 사용하면 날짜 값을 DateTime 객체로 구문 분석하는 사용자 정의 형식 문자열을 지정할 수 있습니다.
다음 코드는 지정된 형식의 날짜를 비교하는 방법을 보여줍니다.
$format = "d_m_y"; $date1 = \DateTime::createFromFormat($format, "03_01_12"); $date2 = \DateTime::createFromFormat($format, "31_12_11"); var_dump($date1 > $date2);
이 접근 방식의 결과는 다음과 같습니다. $date1이 $date2보다 큰지 여부를 나타내는 부울 값입니다. 디버깅 목적으로 var_dump 문을 사용하거나 애플리케이션에서 적절한 논리로 바꿀 수 있습니다.
strtotime() 함정
질문에 제공된 코드를 사용하려고 시도했습니다. strtotime()은 일반적으로 사람이 읽을 수 있는 날짜 문자열을 Unix 타임스탬프로 변환하는 데 사용됩니다. 그러나 strtotime()은 날짜를 표준화된 형식으로 예상하며 '03_01_12'와 같은 사용자 정의 형식을 처리할 수 없습니다. DateTime::createFromFormat을 사용하면 구문 분석되는 날짜의 정확한 형식을 지정할 수 있으므로 이러한 제한이 극복됩니다.
위 내용은 PHP에서 색다른 형식의 날짜를 어떻게 안정적으로 비교할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!