【问题标题】:I want to set a countdown time and keep deadline reducing php我想设置倒计时时间并保持最后期限减少php
【发布时间】:2016-06-21 12:59:15
【问题描述】:

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

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

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

我希望它不断更新。

【问题讨论】:

  • 您需要计算开始时间和当前时间之间的差异。如果您希望它实时更新,您将需要偶尔刷新页面,或使用 JavaScript。 How to calculate the difference between two dates using PHP? 的可能重复项
  • 你忘了说具体的问题是什么。
  • 这里有很多未知数 - 您是否已经拥有经过身份验证的“管理员”部分、持久存储机制和管理员用户的 crud 功能?
  • 你为什么不用 JavaScript?

标签: javascript php countdownevent


【解决方案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

【讨论】:

  • @vikram 不工作?有什么需要改变的吗?
  • 我想要一个连续的时钟,显示时间递减,github.com/SeanJA/countdown-clock/blob/master/gif.php,,,,看到这个人给了一个,但是有个bug,只能正常运行一分钟
  • 如果你想要一个连续的时钟,那么你不应该标记 php。 PHP 只在服务器上运行一次并创建一个“html”文件。如果你想要一个连续的,那么你应该用 javascript 标记问题
  • 我几乎不知道下面的概念是如何工作的。我想要的是一个页面,它以电子邮件的形式发送给用户,其中说我将 2016 年 6 月 24 日上午 11 点设置为截止日期,每当他们打开邮件时,它将显示柜台的剩余时间。我们可以在这样的页面中使用 JS 吗?请帮忙
  • @vikram 知道什么是 js 和什么是 php 很重要。但是让我们把它放在一边。 php代码将显示剩余时间但静态。因此,您需要重新加载页面才能准确显示时间。我已经用 jsfiddle 的链接更新了我的答案,该链接带有一个 javascript 版本,可以实时倒计时到日期和时间。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-26
    • 1970-01-01
    相关资源
    最近更新 更多