根据EST的Javascript倒计时计时器

时间:2014-04-13 09:47:29

标签: javascript php countdowntimer

我正在根据美国东部时间创建一个倒数计时器。计时器应该在美国东部时间每天凌晨12:00重新启动。我得到了我所需要的但我遇到了一个小问题。

当秒计时器结束一分钟后,我看到分钟减少,秒变为60.例如:

如果计时器是13:15:01,1秒后显示13:14:60。我需要的是13:15:00和下一秒,13:14:59。我希望我说清楚。

以下是我的代码:

Index.html:

<script src="http://code.jquery.com/jquery-2.1.0.js"></script> 
<script>
    var root_path = "http://localhost/countdown/";
    function init(){
        $.ajax({
            type: "POST",
            url: root_path + "server_time.php",
            beforeSend: function(aj_msg) {
                //$("#countdown").html('');
            },
            success: function(aj_msg){
                $("#countdown").html('');
                phpMsg = JSON.parse(aj_msg);
                var est = "<span>" + Math.abs(phpMsg['ServerTime'][0].hour) + " :</span> ";
                est += Math.abs(phpMsg['ServerTime'][0].minute) + " : " ;
                est += Math.abs(phpMsg['ServerTime'][0].second);
                $("#countdown").html(est);
            }
        })
    }

    setInterval(init, 1000)
</script>
</head>

<body>
    <div id="countdown"></div>
</body>

Server_time.php:

 <?php
    date_default_timezone_set('US/Eastern');
    $currenttime = date('G:i:s:u');
    list($hrs,$mins,$secs,$msecs) = split(':',$currenttime);
    $output = '{"ServerTime": [';
    $hrs -= 24;
    $mins -= 60;
    $secs -= 60;
    $output .= '{ "hour":"' . $hrs . '" , "minute":"' . $mins . '", "second":"' . $secs . '"}'; 
    $output .=']}';

    echo $output;
?>

我做错了什么?

0 个答案:

没有答案