0

抱歉,我无法正确表达问题。

基本上我需要做的就是这个。

应该有一个显示倒数计时器的 php 页面。假设管理员现在将其设置为 24 小时并开始。谁访问过该页面,它会显示剩余的截止时间。例如,如果用户现在访问,则剩余 24 小时,如果 2 小时后,用户访问,则应该说剩余 22 小时。谢谢你。(任何人都可以编辑它以使其易于理解)。

我希望它不断更新。

4

2 回答 2

1

这非常容易,创建一个变量并存储您想要的截止日期的 UNIX 时间戳(在您的情况下为 24 小时)。现在,当用户打开站点时调用 time()。即现在使用此时间戳在您的 PHP 脚本中调用此函数,因为您需要显示每秒变得更少,您需要客户端语言 jquery 来显示浏览器上的时间滴答。那么为什么需要从 php 中使用 time(),因为来自不同位置的用户和不正确的时间将无法达到目的

于 2016-06-21T13:11:00.657 回答
1
$rem = strtotime('2016-06-21 20:00:00') - time(); // change date and time to suit.
$day = floor($rem / 86400);
$hr  = floor(($rem % 86400) / 3600);
$min = floor(($rem % 3600) / 60);
$sec = ($rem % 60);
if($day) echo $day. "Days left<br>";
if($hr) echo $hr. "Hours left<br>";
if($min) echo $min. "Minutes left<br>";
if($sec) echo $sec. "Seconds left";

在 javascript 中,这将是:https ://jsfiddle.net/z4avs7Lx/

html:

<div id="countdown"></div>

Javascript:

var end = new Date('06/24/2016 11:00 AM');

var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour * 24;
var timer;

function showRemaining() {
    var now = new Date();
    var distance = end - now;
    if (distance < 0) {

        clearInterval(timer);
        document.getElementById('countdown').innerHTML = 'EXPIRED!';

        return;
    }
    var days = Math.floor(distance / _day);
    var hours = Math.floor((distance % _day) / _hour);
    var minutes = Math.floor((distance % _hour) / _minute);
    var seconds = Math.floor((distance % _minute) / _second);

    document.getElementById('countdown').innerHTML = days + 'days ';
    document.getElementById('countdown').innerHTML += hours + 'hrs ';
    document.getElementById('countdown').innerHTML += minutes + 'mins ';
    document.getElementById('countdown').innerHTML += seconds + 'secs';
}

timer = setInterval(showRemaining, 100
于 2016-06-21T13:15:15.187 回答