>백엔드 개발 >PHP 튜토리얼 >PHP에서 사용자 정의 'd_m_y' 형식으로 날짜를 비교하는 방법은 무엇입니까?

PHP에서 사용자 정의 'd_m_y' 형식으로 날짜를 비교하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-29 16:31:11457검색

How to Compare Dates with a Custom 'd_m_y' Format in PHP?

사용자 정의 형식을 사용하여 PHP의 날짜 비교

질문:

'03_01_12' 및 '03_01_12' 형식의 PHP에서 두 날짜를 어떻게 비교할 수 있습니까? '31_12_11'?

시도 1:

제공된 코드:

$date1 = date('d_m_y');
$date2 = '31_12_11';
if (strtotime($date1) < strtotime($date2))
    echo '1 is small ='.strtotime($date1), ','.$date1;
else
    echo '2 is small ='.strtotime($date2), ','.$date2;

설명:

위 코드는 strtotime() 함수를 사용하여 날짜를 비교하려고 시도하지만 다음을 사용하므로 작동하지 않습니다. 변환을 위한 시스템의 기본 날짜 형식으로, 날짜에 사용되는 사용자 정의 형식이 아닙니다. strings.

답변:

주어진 사용자 정의 형식과 날짜를 올바르게 비교하려면 DateTime::createFromFormat() 메서드를 사용할 수 있습니다. 수정된 코드 예는 다음과 같습니다.

$format = "d_m_y";
$date1  = \DateTime::createFromFormat($format, "03_01_12");
$date2  = \DateTime::createFromFormat($format, "31_12_11");

var_dump($date1 > $date2);

이 코드에서는

  • $format 변수는 날짜 문자열에 사용되는 사용자 정의 날짜 형식을 정의합니다.
  • DateTime ::createFromFormat(...)은 지정된 형식을 사용하여 날짜 문자열에서 두 개의 DateTime 객체를 생성합니다.
  • > 연산자는 자동으로 동일한 형식으로 변환되는 타임스탬프를 기준으로 DateTime 객체를 비교합니다.
  • var_dump() 함수는 비교 결과를 사람이 읽을 수 있는 형식으로 출력합니다.

위 내용은 PHP에서 사용자 정의 'd_m_y' 형식으로 날짜를 비교하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.