Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript/PHP倒计时计时器是否在特定时间停止?_Javascript_Php_Mysql - Fatal编程技术网

Javascript/PHP倒计时计时器是否在特定时间停止?

Javascript/PHP倒计时计时器是否在特定时间停止?,javascript,php,mysql,Javascript,Php,Mysql,我有倒计时的代码。它基本上是PHP/Javascript倒计时计时器的组合,它将从Mysql表/字段中获取$end\u date 问题是它会在某个时间自动停止(这是不需要的) 例如:我在mysql数据库中将$end_date设置为2013年9月19日格林尼治时间上午11:30:00 倒计时开始,工作正常,开始倒计时。但是,当倒计时计时器达到2013年9月19日格林威治标准时间13:00:00时,它将停止,并显示Times Up消息!基本上,一旦$end\u date更改为13:00:00 PM,

我有倒计时的代码。它基本上是PHP/Javascript倒计时计时器的组合,它将从Mysql表/字段中获取
$end\u date

问题是它会在某个时间自动停止(这是不需要的)

例如:我在mysql数据库中将
$end_date
设置为
2013年9月19日格林尼治时间上午11:30:00

倒计时开始,工作正常,开始倒计时。但是,当倒计时计时器达到2013年9月19日格林威治标准时间13:00:00时,它将停止,并显示Times Up消息!基本上,一旦
$end\u date
更改为
13:00:00 PM
,它将停止工作或倒计时

我在代码中看不到任何会导致此问题的内容。除此之外:

if ($now < $exp_date ) {
?>

非常感谢您的帮助。

13:00:00 PM
不是有效时间<代码>AM和
PM
用于指示时间在12小时周期的哪一侧。从逻辑上讲,你不能说你在12小时的第13个小时


编辑:为了清晰起见:13:00==下午1点,13:00==什么都没有。

没有13点这样的时间。@Juhana,你确定吗?因为我在我的页面上回显结果,我在那里得到了这个回显:2013年9月19日格林威治标准时间下午13:00:00。。。你从哪里知道没有下午13点这样的时间?你到底在说什么?你预计下午13点是几点?我的时钟只有12个小时。@Juhana,我在回音
H
是24小时时钟中小时的符号。如果你使用12小时制,你需要
h
。那么为什么我的电脑现在显示我的时间是13:15?这没有道理,没错。但它没有下午或上午结束,这是主要的问题。请仔细阅读我的答案。说下午13点意味着你说的是午后13小时,这意味着它指的是凌晨1点或01:00,而不是下午1点或13:00。天哪,伙计,我真不敢相信只有这一点。真不敢相信我竟然不知道。我刚刚删除了
H
,它又开始工作了!我很感激。
<?php 
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>
<?php date_default_timezone_set('GMT'); ?>
<?php
session_start();
// Run a select query to get my letest 6 items
// Connect to the MySQL database  
include "config/connect.php";
$dynamicList = "";
$sql = "SELECT * FROM item ORDER BY id";
$query = mysqli_query($db_conx, $sql);
$productCount = mysqli_num_rows($query); // count the output amount
if ($productCount > 0) {
    while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){ 
             $id = $row["id"];
             $product_name = $row["product_name"];
             $date_added = date("Y-m-d", strtotime($row["date_added"]));
             $end_date = date("F d Y H:i:s A T", strtotime($row["end_date"]));
             $price = $row["price"];
             $dynamicList .= '<div>' . $end_date . '
      </div>';
    }
} else {
    $dynamicList = "No Records";
}
?>

<?php
$date = $end_date;
$exp_date = strtotime($date);
$now = time();

if ($now < $exp_date ) {
?>
<script>
// Count down milliseconds = server_end - server_now = client_end - client_now
var server_end = <?php echo $exp_date; ?> * 1000;
var server_now = <?php echo time(); ?> * 1000;
var client_now = new Date().getTime();
var end = server_end - server_now + client_now; // this is the real end time

var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour *24
var timer;

function showRemaining()
{
    var now = new Date();
    var distance = end - now;
    if (distance < 0 ) {
       clearInterval( timer );
       document.getElementById('countdown').innerHTML = 'EXPIRED!';

       return;
    }
    var days = Math.floor(distance / _day);
    var hours = Math.floor( (distance % _day ) / _hour );
    var minutes = Math.floor( (distance % _hour) / _minute );
    var seconds = Math.floor( (distance % _minute) / _second );

    var countdown = document.getElementById('countdown');
    countdown.innerHTML = '';
   if (days) {
        countdown.innerHTML += 'Days: ' + days + '<br />';
    }
    countdown.innerHTML += 'Hours: ' + hours+ '<br />';
    countdown.innerHTML += 'Minutes: ' + minutes+ '<br />';
    countdown.innerHTML += 'Seconds: ' + seconds+ '<br />';
}

timer = setInterval(showRemaining, 1000);
</script>
<?php
} else {
    echo "Times Up";
}
?>
<div id="countdown"></div>