【发布时间】:2016-01-29 14:37:54
【问题描述】:
我正在尝试创建一个计时器,从时间戳开始 1 小时显示倒计时,然后显示表单按钮,但我无法让它工作,我尝试了多种我在网上找到的方法,但它们要么显示时间不对,或者从不显示表格。这是我目前所拥有的:
while($row2 = $result2->fetch_assoc()) {
$timestamp = $row2['timestamp'];
$work_id = $row2['work_id'];
$current_time = date("Y-m-d H:i:s");
$ready_time = date("Y-m-d H:i:s", strtotime($timestamp)+3600);
if($current_time > $ready_time){?>
<form action="" method="POST" onsubmit="return confirm('Are you sure?');">
<input type="hidden" value="<?echo $work_id;?>" name="work_id">
<input type="submit" name="submit" value="Complete Workorder">
</form>
?
}else{
$time1 = new DateTime($current_time);
$time2 = new DateTime($timestamp);
$interval = $time1->diff($time2);
echo $interval->d ." Days ". $interval->h . " Hours, " . $interval->i." Mintues, ".$interval->s." seconds";
}
}
【问题讨论】:
-
这段代码没有按预期工作的具体情况如何?
-
我永远无法获得一个倒计时计时器来倒计时,不必实时显示页面刷新的剩余时间。至于 $current_time > $ready_time 似乎反向工作,我不明白为什么,当时间应该已经过期(1小时后)它仍然不显示表单并始终显示我的 echo Workorder 待处理
-
mysql 中的日期/时间值始终采用
yyyy-mm-dd hh:mm:ss格式,例如Y-m-d H:i:s。如果它以 d-m-Y 格式从 mysql 中出来,那么要么通过date_format()明确请求它,要么它们是 varchar/text 值,而不是日期时间。而且我在那里看不到任何“计时器”代码。你只是从 mysql 中吸取一些东西并生成一个表格。 -
我已经更新了我的代码,我发布了一个旧副本,我的错误。但是计时器总是显示 0 天 0 小时、0 分钟、0 秒和米奇,你是对的,我希望它是实时的,但我不是很好的 javascript
标签: php date timer timestamp countdown