2011-05-17 112 views
1

我已经使用这个代码编码一个简单的PHP倒数计时器:PHP倒数计时器问题?

list($date,$time)=explode(" ",$compounddate); 
list($thour,$tminute,$tsecond)=explode(":",$time); 
list($tyear,$tmonth,$tday)=explode(":",$date); 
$date=str_replace(":","/",$date); 
$target = mktime($thour,$tminute,$tsecond,$tmonth,$tday,$tyear) ; 

$today = time() ; 

$difference =($target-$today) ; 

$days = floor(abs($difference/86400)); 

$hours = floor(abs($difference%86400/3600)); 

$minutes =floor(abs($difference%3600/60)); 

$seconds = floor(abs($difference%60)); 

$date = date("F d, Y ",strtotime($date)); 
$time = date("g:i:s A",strtotime($time)); 
$past_future=""; 
$boolpast_future=true; 
if($difference<0) { 
$past_future="<strong> Time since ".$date." at ".$time.": </strong>"; 
$boolpast_future=false; 
} 
else { 
$past_future="<strong> Countdown to ".$date." at ".$time.": </strong>"; 
$boolpast_future=true; 
} 
} 

($ thour,$ tminute等平均目标时,目标分钟...)
但是,此代码不计算倒计时时间适当。如何解决这个问题?谢谢!

+0

你有没有自己检查过,或者你只是在有人会做你的工作之前等待? – zerkms 2011-05-17 03:00:43

+1

正确设置代码格式(缩进)。 – dkamins 2011-05-17 03:02:34

回答

1
date_default_timezone_set('Asia/Tokyo'); 

$target = new DateTime('2011-06-01 05:00:00'); 
$now = new DateTime; 
$diff = $target->diff($now); 

if ($target > $now) { 
    echo $diff->format('%a days, %h hours, %i minutes to go'); 
} else { 
    echo $diff->format('%a days, %h hours, %i minutes too late'); 
}