我用 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 關注
- 141 瀏覽
添加回答
舉報
0/150
提交
取消