/**
* @todo Count Down (倒计时)
* @param String $endTime
* @return String time
* @example
* $endTime = '2014-07-13 8:15:00';
echo countDown($endTime);
*/
function countDown($endTime){
$endTime = strtotime($endTime);
$beiginTime = strtotime(date('Y-m-d H:i:s'));
$timeDifference = $endTime - $beiginTime;
switch ($timeDifference){
case $timeDifference < 0 :
$timeDifference = '已经结束!';
break;
case $timeDifference < 60 :
$timeDifference = $timeDifference.'秒';
break;
case $timeDifference < 3600 :
$minutes = floor($timeDifference/60);
$seconds = floor($timeDifference - ($minutes*60));
$timeDifference = $minutes.'分'.$seconds.'秒';
break;
case $timeDifference < 86400 :
$hours = floor($timeDifference/3600);
$minutes = floor(($timeDifference - ($hours*3600))/60);
$seconds = floor($timeDifference - ($hours*3600) - ($minutes*60));
$timeDifference = $hours.'小时'.$minutes.'分'.$seconds.'秒';
break;
default:
$days = floor(($timeDifference/86400));
$hours = floor(($timeDifference - ($days*86400))/3600);
$minutes = floor(($timeDifference - ($days*86400) - ($hours*3600))/60);
$seconds = floor($timeDifference - ($days*86400) - ($hours*3600) - ($minutes*60));
$timeDifference = $days.'天'.$hours.'小时'.$minutes.'分'.$seconds.'秒';
break;
}
return $timeDifference;
}
该方法可以让整个计算在PHP后端计算并且输出一定的格式后直接在页面展示倒计时详细信息。
页面想要实现1秒自动刷新请配合ajax和定时器去进行局部刷新即可。
此处主要的是描述一个思路,至于怎么做好还是要看项目和具体的需求。