我用 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')); 但它没有用。
提前谢谢了。
尚方宝剑之说