본문 바로가기
웹프로그램

php에서 날짜 카운터 구현하기.

by 세이박스 2008. 10. 19.
반응형
// a.php
// select 로 날짜를 입력받음
 
<form method='get' action='b.php'>
 <select name='yy'>
<?php
 for($ii = date('Y'); $ii >= 1900; $ii--) {
?>
  <option value='<?= $ii ?>'> <?= $ii ?> </option>
<?php
 }
?>
 </select>년
 <select name='mm'>
<?php
 for($ii = 1; $ii <= 12; $ii++) {
?>
  <option value='<?= sprintf('%02d', $ii); ?>'> <?= $ii ?> </option>
<?php
 }
?>
 </select>월 
 <select name='dd'>
<?php
 for($ii = 1; $ii <= 31; $ii++) {
?>
  <option value='<?= sprintf('%02d', $ii); ?>'> <?= $ii ?> </option>
<?php
 }
?>
 </select>일
 <input type='submit' value='확인'>
</form>
 
 
// b.php
// 실제 데이타 처리
 
<?php
 $YY = $_GET['yy'];
 $MM = $_GET['mm'];
 $DD = $_GET['dd'];
 $nowdate  = $MM . $DD;
 $cntdate  = '';
 $cntdatem = date('m', mktime(24 - date('H'), 60 - date('i'), 60 - date('s'), $MM - date('m'), $DD - date('d'), date('Y'))); // 남은 월
 $cntdated = date('d', mktime(24 - date('H'), 60 - date('i'), 60 - date('s'), $MM - date('m'), $DD - date('d'), date('Y'))); // 남은 일
 $cntdateh = date('H', mktime(24 - date('H'), 60 - date('i'), 60 - date('s'), $MM - date('m'), $DD - date('d'), date('Y'))); // 남은 시간
 $cntdatei = date('i', mktime(24 - date('H'), 60 - date('i'), 60 - date('s'), $MM - date('m'), $DD - date('d'), date('Y'))); // 남은 분
 $cntdates = date('s', mktime(24 - date('H'), 60 - date('i'), 60 - date('s'), $MM - date('m'), $DD - date('d'), date('Y'))); // 남은 초
 // 남은 월이 Null 이나 0 이 아니라면
 if(!empty($cntdatem) && $cntdatem < 12)
  $cntdate .= $cntdatem ."개월 ";
 // 남은 일이 Null 이나 0 이 아니라면
 if(!empty($cntdated))
  $cntdate .= $cntdated ."일 ";
 // 남은 시간이 Null 이나 0 이 아니라면
 if(!empty($cntdateh))
  $cntdate .= $cntdateh ."시간 ";
 // 남은 분이 Null 이나 0 이 아니라면
 if(!empty($cntdatei))
  $cntdate .= $cntdatei ."분 ";
 // 남은 초가 Null 이나 0 이 아니라면
 if(!empty($cntdates))
  $cntdate .= $cntdates ."초 ";
 if(!strcmp($nowdate, date('md')))
  echo "축하합니다. 오늘이 생일 입니다.";
 else
  echo "생일까지는 앞으로 ". $cntdate ." 남았습니다.";
?>
반응형