int mktime ([ int $hour= date("H") [, int $minute= date("i") [, int $second= date("s") [, int $month= date("n") [, int $day= date("j") [, int $year= date("Y") [, int $is_dst= -1 ]]]]]]] ) (PHP 4, PHP 5)

이 함수는 얻고 싶은 날짜를 인자로 전달하여 그 날짜에 해당하는 타임 스탬프값을 얻을 수 있습니다. 이는 gmmktime함수와 같은 기능을 합니다. 차이가 있다면, gmmktime함수는 그리니치 표준시간을 기준으로 한다는 점입니다.

그리니치 표준시간이란? 경도 0도의 그리니치 자오선을 기준으로 한 시간으로 세계 모든 지방의 시간과 관측에 사용하는 표준시의 기본이 됩니다. 우리나라 표준시와는 9시간 정도 차이가 있습니다.

예제 (ex #1
 <?php
 
// 현제시간 2011/05/17 pm 10:48분입니다.
 // 인자를 지정하지 않으면, 1970년 1월 1일 부터 계산된 현재의 시간을 초로 계산합니다.

 
echo mktime(); 
// 결과: 1305640138 

 
echo time(); 
// 결과: 1305640138 

 
echo gmmktime(); 
// 결과: 1305640138
 
?>

여기서 gmmktime함수와는 차이를 보이지는 않지만, 다음 예제를 보면 결과 값이 다르다는 것을 알 수 있습니다. 그리니치 표준시간으로 9시간 정도 차이가 있으니 같을 수는 없지요.

예제 (ex #2
 <?php
 
echo mktime(000111997); 
// 결과: 852044400  

 
echo gmmktime(000111997); 
// 결과: 852076800
 
?>

gmmktime, mktime은 시, 분, 초, 월, 일, 년 으로 인자를 넘겨 주면 됩니다.

예제 (ex #3
 <?php
 
// 32일은 존재하지 않기 때문에 1998년 1월 1일로 계산되어 집니다.
 
echo date("M-d-Y"mktime(00012321997
));
 
// 결과: Jan-01-1998

 // 13월은 존재하지 않기 때문에 1998년 1월 1일로 계산되어 집니다.
 
echo date("M-d-Y"mktime(0001311997
));
 
// 결과: Jan-01-1998

 
echo date("M-d-Y"mktime(000111998
));
 
// 결과: Jan-01-1998

 // 98은 98년, 11은 2011년 등 두 자리로 년도를 지정할 수 있습니다.
 
echo date("M-d-Y"mktime(0001198
));
 
// 결과: Jan-01-1998

 
echo date("M-d-Y"mktime(0001111
));
 
// 결과: Jan-01-2011
 
?>

예제 (ex #4
 <?php
 
echo date("M-d-Y"gmmktime(00051811
));
 
// 결과: May-18-2011

 
echo date("M-d-Y"mktime(00051811
));
 
// 결과: May-18-2011

 // 60초 * 60분 * 24시간 = 86400 (1일)
 
echo date("M-d-Y"time()+86400
);
 
// 결과: May-18-2011
 
?>
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요