【发布时间】:2016-01-10 02:08:37
【问题描述】:
我有一些 PHP 脚本来回显距离事件还剩多少时间。时间以类似23h 15m 4s的格式输出
这是我的 PHP 代码:
$now = new DateTime();
$future_date = new DateTime($res['post_time']); # post_time is the time of event
$interval = $future_date->diff($now);
$time_until = rtrim(sprintf("%s%s%s",
$interval->h > 0 ? $interval->h . "h " : "",
$interval->i > 0 ? $interval->i . "m " : "",
$interval->s > 0 ? $interval->s . "s " : ""
)
); # Format time to not have '0'
echo "Time until event " . $time_until;
有没有办法让 Javascript 中的时间每秒更新一次?我想回声看起来像
echo "Time until event <span id='countdown'>" . $time_until . "</span>";
JS 将在哪里使用#countdown?
【问题讨论】:
-
有很多方法可以做到这一点。您可以每秒使用一次 ajax 调用来获取更新的时间,或者您可以回显总秒数,然后通过 javascript 进行日/分/秒数学运算,这将允许您每秒倒计时/更新时间。
-
@RichardTheobald,
AJAX在这里不合适..这种方法会有延迟.. -
@RayonDabre 好点。如果选择使用 ajax,时间可能不再精确到秒。尤其是每秒都有一个电话。
-
@PhiterFernandes:没那么简单。我的 PHP 脚本删除了 0,因此时间可以采用
23h 47m 1s或1h 18s的格式,例如
标签: javascript php datetime time