我用 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);});计时器.phpdate_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 datetimeif(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')); 但它没有用。提前谢谢了。
1 回答
尚方宝剑之说
TA贡献1788条经验 获得超4个赞
首先,如果你有 timeleft 它的你的计数器:-2820 你可以简单地将它乘以(-1):-2820 *(-1)= 2820
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
$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
- 1 回答
- 0 关注
- 108 浏览
添加回答
举报
0/150
提交
取消