bool checkdate ( int $month , int $day , int $year )
(PHP 4, PHP 5)

이 함수는 인자로 구성된 날짜의 유효성을 체크하며, 해당 날짜가 타당하면 true를, 아니면 false를 반환합니다.

  • month: 1~12월까지 입력합니다.
  • day: 주어진 month 에서 허용된 일 수. 윤년도 고려됩니다.
  • year: 1에서 32767까지 년도를 입력합니다.

다음 예제를 살펴보면 이해되리라 봅니다.

<?php
 // 2011년 4월 31일 유효성 체크
 if(checkdate(4, 31, 2011)){
      echo "31일은 실제 존재합니다.";
 } else {
      echo "31일은 존재하지 않습니다.";
 }
 // 결과: 31일은 존재하지 않습니다.


 // 2011년 5월 31일 유효성 체크
 if(checkdate(5, 31, 2011)){
      echo "31일은 실제 존재합니다.";
 } else {
      echo "31일은 존재하지 않습니다.";
 }
 // 결과: 31일은 실제 존재합니다.
 ?>

이 함수를 이용하면, 해당 월이 총 몇 일인지를 알 수 있습니다.

<?php
 $year = 2011;
 $month = 4;
 $day = 1;
 while(true === checkdate($month, $day, $year)){
      $day++;
 }

 $day = $day - 1;
 echo "${year}년 ${month}월은 ${day}일까지 입니다.";

 // 결과: 2011년 4월은 30일까지 입니다. 


 $day = 1;
 while(true === checkdate(date("m"), $day, date("Y"))){
      $day++;
 }
 $day = $day - 1;
 echo "${year}년 ${month}월은 ${day}일까지 입니다.";

 // 결과: 2011년 4월은 30일까지 입니다. 
 ?>

0 댓글