happy cat image

everdevel

우리 모두의 웹 입문, 에버디벨

UI 변경

날짜와 시간 함수

날짜와 시간 정보 출력 함수 : date()

php image
 <?php
 echo "오늘의 날짜와 시간을 출력해보자 <br />";

 $today1 = date("Y년 n월 j일 (요일 : D)");
 $today2 = date("l / d / F / Y ");
 echo "오늘의 날짜... {$today1} <br />";
 echo "영문의 표기... {$today2} <br />";

 $now = date("h시 i분 s초 (A)");
 echo "지금의 시각.... {$now}<br />";

 echo "=================================== <br />";
 $cnt = date("z");
 $tocnt=$cnt+1; // 0부터 시작하므로 1을 추가
 echo "올 해가 시작한지 {$tocnt} 일째 되는 날이고 <br />";

 $mon = date("n");
 $mck = date("t");
 echo "이번 달{$mon}월은 {$mck}일까지 있습니다. <br />";
 echo "----------------------------------- <br />";
 ?>
php image

시간을 계산해 주는 함수 time() ,mktime()

이 두 함수는 1970년 1월 1일 0시 0분 0초를 기준으로 지나간 시간을 초단위로 계산해 주는 함수 이다.
time함수는 인수를 설정할수 없다.
mktime()함수는 인수에 계산하고 싶은 시간을 설정하여 1970년부터 사용자가 입력한 시간까지의 시간을 계산할 수 있다.

time()
mktime(시간, 분, 초, 월, 일 , 년)

주어진 생일까지의 초와 일 수 계산 프로그램.

 <?php
 $a = time(); // 1970년 1월 1일부터 현재까지 지난 시간이 a값이다.
 $b = mktime(5, 10, 20, 5, 3, 2000); // 현재 설정한 시간
 $c = $a - $b; // 1970년부터 지금까지 흐른 시간 에서 1970년부터 200년 5월 3일 5시 10분 20초까지의 시간을 뺀다.
 $d = intval($c / 86400); //  c의 시간을 하루로 나눈다.

 echo "1970년 1월 1일 00:00:00 기준 <br />";

 echo "현재까지 {$a}초가 지났으며, <br />";
 echo "당신의 생일까지 {$d}일 지났습니다. <br />";
 ?>
php image

특정 날짜를 시작일로 지정하고 특정 날짜를 종료일로 지정하여 두 시점의 기간을 알아보는 소스이다.

`
 <?php
 $start = mktime(8, 35, 20, 1, 16, 2000); // start를 2000년 1월 16일 8시 35분 20초로 설정
 $std1 = date("Y-m-d일 h:i:s 부터",$start); // 시간 형식을 지정하고 값으로 $start를 지정
 $end = mktime(5, 35, 20, 1, 16, 2009); // 종료일을 위와같이 설정
 $std2 = date("Y-m-d일 h:i:s 까지", $end);
 $count = $end - $start; // 종료일 - 시작일
 $total1 = intval($count/86400); //위의 값을 1일로 나눔
 $total2 = intval(($count % 86400) / 3600); // 일수를 제외한 시간

 echo " mktime date 함수 사용 <br />";
 echo " 시작일 {$std1}";
 echo " 종료일 {$std2}";
 echo "시작일부터 종료일까지 {$count}초가 지났으며 <br />";
 echo "날짜로 환산하려면 {$total1}일 {$total2}시간 지났다. <br />";
 ?>
php image

날짜의 유효성을 검사하는 함수 : checkdate() 함수

날짜의 형식이 제대로 입력되었는지 유효성을 검사하는 함수이다.
형식이 올바르면 참을 출력 바르지 않으면 거짓을 출력한다.

 <?php
 echo "날짜의 유효성을 검사하는 함수 <br />";
 $m = 06;
 $d = 3;
 $y = 2009;
 echo "입력한 날짜 : {$y}.{$m}.{$d} <br />";
 $chk = checkdate($m, $d ,$y);
 if($chk)
 echo "... 입력한 날짜를 형식이 맞습니다..<br />";

 else
 echo "날짜의 형식이 올바르지 않습니다. <br />";
 ?>
php image

위의 소스에서 형식이 맞지 않는 경우란 월이 13월을 설정하면 거짓이 되고 날짜가 6월은 매년 30일까지 이므로 31일을 설정하면 거짓이 된다.

강좌로 돌아가기