php 카운트다운 효과 구현

4052 단어 php카운트다운
현재 많은 단체 구 매 사이트 에 남 은 시간 이 표시 되 어 있다.남 은 시간 을 자 바스 크 립 트 로 표시 할 수 있 지만 자 바스 크 립 트 를 사용 하면 안전 하지 않 습 니 다.자 바스 크 립 트 는 클 라 이언 트 의 시간 을 얻 기 때 문 입 니 다.예 를 들 어 이번 단체 구 매 는 이미 끝 났 지만 기술 을 아 는 방문객 들 은 클 라 이언 트 컴퓨터 를 수정 하 는 시간 만 있 으 면 이 상품 을 구 매 할 수 있다 는 것 을 보 여 준다.이것 은 우리 사이트 디자인 의 취지 가 아 닌 것 이 분명 하 다.단체 구 매가 끝나 면 다시 구 매 할 수 없습니다.여기에 시험 시스템 의 남 은 시간 카운트다운 디 스 플레이 코드 를 써 서 여러분 과 함께 토론 합 니 다.
실현 원리:
PHP 는 서버 쪽 의 시간 을 가 져 옵 니 다.시험 시작 시간 과 종료 시간,현재 시간 만 설정 하면 됩 니 다.만약 현재 시간 이 우리 의 시험 시간 범위 내 에 있 지 않다 면 수험생 에 게'현재 시험 시간 대 에 있 지 않 습 니 다!'라 고 표시 합 니 다.시험 시간 범위 내 에서 현재 시간 을 얻 으 면 종료 시간 에서 현재 시간 을 빼 면 남 은 시간 입 니 다.남 은 시간 을 포맷 하여 출력 하 는 것 은'남 은 시험 시간:2 시간 56 분 32 초'라 는 형식 입 니 다.서버 에서 남 은 시간 을 얻 은 후에 우 리 는 클 라 이언 트 가 남 은 시간의 카운트다운 을 동적 으로 표시 해 야 합 니 다.이 건 AJAX 로 이 루어 져 야 돼.시작 하기 전에 여러분 은 먼저 몇 개의 함 수 를 익히 세 요!
PHP 함수:
strtotime(); //모든 영어 날 짜 를 시간 스탬프 로 변환 합 니 다.
floor(); //버 리 고 정리 하고 int()와 강제로 만 나 게 합 니 다.
json_encode()//변 수 를 JSON 인 코딩 하여 문자열 을 되 돌려 줍 니 다.
간단 한 남 은 일수 계산:

date_default_timezone_set('Asia/Hong_Kong');
$startDate = '2015-8-11';
$endDate = '2015-8-31';

//       Unix   
$startDateStr = strtotime($startDate);
$endtDateStr = strtotime($endDate);
$total = $endtDateStr-$startDateStr;

$now = strtotime(date('Y-m-d'));
$remain = $endtDateStr-$now;

echo '  :'.$total/(3600*24).' <br>';
echo '  :'.$remain/(3600*24).' ';

효과:

간단 한 남 은 시간 계산:

date_default_timezone_set('Asia/Hong_Kong');
$startTime = '09:00:00';
$endTime = '18:00:00';

//       unix   
$startTimeStr = strtotime($startTime);
$endTimeStr = strtotime($endTime);
$total = $endTimeStr - $startTimeStr;

$restHours = 1; //   1  

$now = strtotime(date('H:i:s'));
$remain = $endTimeStr - $now;

echo '    :'.($total/3600-$restHours).'  <br>';
echo '  :'.floor(($remain/3600)).'  '.floor($remain/60).'    ';
효과:

전후 단 협조 실현 시험 남 은 시간:
HTML 레이아웃
시험 남 은 시간:
00  00 00 
JS 스 크 립 트

function dealData(id,value){
  var place = document.getElementById(id);
  place.innerHTML = value;
}
window.setInterval(function(){ //            
  var ajax = new Ajax();
  ajax.get("remain_time.php?a="+Math.random(),function(data){
  eval("var dtime = "+data); 
  dealData('hour',dtime.hour);
  dealData('minute',dtime.minute);
  dealData('second',dtime.second);
 });
},1000);
PHP 코드:

date_default_timezone_set('PRC');
$start_time = '09:00:00';
$end_time = '18:00:00';
$start_famate_time = strtotime($start_time);//          
$end_famate_time = strtotime($end_time); //          
$now_time = time();
if($end_famate_time < $now_time || $start_time > $now_time){
 echo '            !';
 exit;
}
$remain_time = $end_famate_time-$now_time; //     
$remain_hour = floor($remain_time/(60*60)); //     
$remain_minute = floor(($remain_time - $remain_hour*60*60)/60); //      
$remain_second = ($remain_time - $remain_hour*60*60 - $remain_minute*60); //     
echo json_encode(array('hour'=>$remain_hour,'minute'=>$remain_minute,'second'=>$remain_second));
이상 은 php 가 카운트다운 을 실현 하 는 관건 적 인 코드 입 니 다.여러분 의 학습 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기