如何使用PHP进行倒计时

RSM*_*RSM 7 php countdown web

我正在为我兄弟的婚礼创建一个网站.到目前为止一切进展顺利.但是,他希望在主页上举行婚礼倒计时;

到婚礼的时间:X个月,X天,X个小时.

我更愿意使用php来做这件事,但会对其他建议持开放态度.

如果你可以帮助我编写编码的想法,或者只是指向我相关的材料,那将是有用的.

婚礼于7月30日星期六举行.

Vin*_*rat 7

如果你需要你的计数器只在页面刷新时显示并且一旦加载页面就是静态的,那么PHP就可以了.

如果您需要在显示页面时刷新倒计时,则需要使用JavaScript.

就个人而言,我会选择已经实现的东西,比如那个小脚本.


hai*_*ong 6

以下是我从W3Schools网站复制的代码片段,同时添加了我的 PHP 代码以获取“倒计时”时间戳和“现在”时间戳。

你会看到我已经注释掉了原来的 JavaScript 代码,并在两个地方用 PHP 代码替换了它,因此可以清楚地看出两个选项之间的区别。

基本上,当您认为“服务器时间”在您的情况下更可靠时,您可以采用 PHP 方法。

<!DOCTYPE HTML>
<html>

<head>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
    p {
        text-align: center;
        font-size: 60px;
        margin-top: 0px;
    }
    </style>
</head>

<body>
    <p id="demo"></p>
    <script>
    // Set the date we're counting down to
    // 1. JavaScript
    // var countDownDate = new Date("Sep 5, 2018 15:37:25").getTime();
    // 2. PHP
    var countDownDate = <?php echo strtotime('Sep 5, 2018 15:37:25') ?> * 1000;
    var now = <?php echo time() ?> * 1000;

    // Update the count down every 1 second
    var x = setInterval(function() {

        // Get todays date and time
        // 1. JavaScript
        // var now = new Date().getTime();
        // 2. PHP
        now = now + 1000;

        // Find the distance between now an the count down date
        var distance = countDownDate - now;

        // Time calculations for days, hours, minutes and seconds
        var days = Math.floor(distance / (1000 * 60 * 60 * 24));
        var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
        var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
        var seconds = Math.floor((distance % (1000 * 60)) / 1000);

        // Output the result in an element with id="demo"
        document.getElementById("demo").innerHTML = days + "d " + hours + "h " +
            minutes + "m " + seconds + "s ";

        // If the count down is over, write some text 
        if (distance < 0) {
            clearInterval(x);
            document.getElementById("demo").innerHTML = "EXPIRED";
        }
    }, 1000);
    </script>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)


小智 5

对于静态倒计时:

<?php

//A: RECORDS TODAY'S Date And Time
$today = time();

//B: RECORDS Date And Time OF YOUR EVENT
$event = mktime(0,0,0,12,25,2006);

//C: COMPUTES THE DAYS UNTIL THE EVENT.
$countdown = round(($event - $today)/86400);

//D: DISPLAYS COUNTDOWN UNTIL EVENT
echo "$countdown days until Christmas";

?>
Run Code Online (Sandbox Code Playgroud)