2017-11-21 6 views
0

PHP를 서버 측 언어로 사용하여 카운트 다운을 표시합니다. 그것은 잘 작동하지만 (서버 측 카운트 다운의 제한을 유지) 날짜가 만료되면 부정적인 카운트 다운이 발생합니다. 예를 들어PHP 카운트 다운이 음수를 출력합니다.

: 11 (22)은 카운트가 출력 음수 값 끝나면

<?php 
date_default_timezone_set('Europe/London'); 
$date = strtotime("November 22, 2017 12:01 AM"); 
$remaining = $date - time(); 
$days_remaining = floor($remaining/86400); 
$hours_remaining = floor(($remaining % 86400)/3600); 
$minutes_remaining = floor(($remaining % 3600)/60); 
?> 

. $date이 만료되면 카운트 다운을 숨기는 방법을 알려주십시오.

나는 아래의 코드를 사용하여 결과를 출력하고있다 :이 작동하는 것 같다

<?php echo $days_remaining?> : <?php echo $hours_remaining?> : <?php echo $minutes_remaining?> 

답변

1

if statement를 사용하여 $remaining 값의 양성을위한 간단한 검사를 추가

date_default_timezone_set('Europe/London'); 
$date = strtotime("November 22, 2017 12:01 AM"); 
$remaining = $date - time(); 

if ($remaining > 0) { 
    $days_remaining = floor($remaining/86400); 
    $hours_remaining = floor(($remaining % 86400)/3600); 
    $minutes_remaining = floor(($remaining % 3600)/60); 
} 

출력 파일 :

,
<? if ($remaining > 0) { ?> 
    <?= $days_remaining ?> : <?= $hours_remaining ?> : <?= $minutes_remaining ?> 
<? } ?> 

그것은 (php.ini에서 On 값이 있어야합니다 옵션 short_open_tag) PHP에서 출력 뭔가 구문 <?= $var ?>을 사용하는 것이 더 읽을 수있다.

+0

내 문제를 해결해 주셔서 감사합니다! – John

0

:

date_default_timezone_set('Europe/London'); 
$date = strtotime("November 21, 2017 12:01 AM"); 
$remaining = $date - time(); 

if($remaining >= 0) 
{ 
    $days_remaining = floor($remaining/86400); 
    $hours_remaining = floor(($remaining % 86400)/3600); 
    $minutes_remaining = floor(($remaining % 3600)/60); 
    echo $days_remaining, ":", $hours_remaining, ":", $minutes_remaining; 
} 
else 
    echo "Done";