如何制作一个倒数计时器而不是倒数计时器?(PHP,JQUERY AJAX)

我用 PHP 和 jQuery AJAX 制作了一个倒数计时器,它每秒显示一个名为 $timeleft 的变量。


小时.js


$(function()

{

  var timertext = $("[timer]");


  setInterval(function()

  {

     $.post("timer.php", {type : "timerupdate"}, function(data)

     {

        timertext.html("Time left: " + data + " seconds")

     });

  }, 1000);

});

计时器.php


date_default_timezone_set("Europe/Amsterdam");

$timecountdownend = strtotime("2020-05-18 14:30:00");

$timecountdownstart = strtotime("now"); 

$startdatetime = "2020-05-18 14:07:00"; //variable for starting datetime


if(date('Y-m-d H:i:s') >= $startdatetime){

     $timeleft = $timecountdownend - $timecountdownstart;


     if(isset($_POST["type"]) === true && $_POST["type"] == "timerupdate")

     {

         echo ($timeleft);

     }

}

解释:一个计时器在特定时间($startdatetime)开始计时,并计算秒数直到 $timecountdownend 时间。它工作正常,但我实际上想倒计时而不是倒计时。因此,如果 $startdatetime 已达到,它开始以 1 秒计数,并且每一秒都在计数,直到 $timecountdownend 已达到。我怎样才能用 strtotime 做到这一点?我试过很多东西,比如 $timeleft = $timecountdownend - strtotime(date('Ymd H:i:s')); 但它没有用。


提前谢谢了。


米脂
浏览 115回答 1
1回答

尚方宝剑之说

首先,如果你有 timeleft 它的你的计数器:-2820 你可以简单地将它乘以(-1):-2820 *(-1)= 2820date_default_timezone_set("Europe/Amsterdam");$timecountdownend = strtotime("2020-05-18 14:30:00");$timecountdownstart = strtotime("now"); $startdatetime = "2020-05-18 14:07:00"; //variable for starting datetime$timeleft = $timecountdownend - $timecountdownstart;echo ($timeleft);echo(PHP_EOL);echo ($timeleft*(-1));echo(PHP_EOL);echo( date('Y-m-d h:i:sa',strtotime($startdatetime)+$timeleft*(-1)));http://sandbox.onlinephpfunctions.com/code/792ec42255d85a45c377b6e8d34cbde143430824
打开App,查看更多内容
随时随地看视频慕课网APP