php - 如何获得准确的服务器时间

时间:2018-02-01 21:31:41

标签: javascript php time server

我每隔30分钟通过crontab在我的Ubuntu服务器上运行一个脚本。 这个脚本的内容并不重要,但我想通知我的服务器用户关于准确的时间,什么时候会触发脚本(我的网页就像抽奖一样,每30分钟抽奖一次)

我尝试了以下内容: PHP

$min = date('i');
$sec = date('s');
if (($min>=30)&&($sec==0)) {
$tt=((60-($min))*60)+$sec;  
}
if (($min>=30)&&($sec>0)) {
$tt=((60-($min+1))*60)+$sec;    
}
if (($min<30)&&($sec>0)) {
$tt=((30-($min+1))*60)+$sec;    
}
if (($min<30)&&($sec==0)) {
$tt=((30-($min)*60))+$sec;  
}

JS:

<script>
var seconds = <?php echo $tt;?>;
function secondPassed() {
    var minutes = Math.round((seconds - 30)/60);
    var remainingSeconds = seconds % 60;
    if (remainingSeconds < 10) {
        remainingSeconds = "0" + remainingSeconds;  
    }
    document.getElementById('countdown').innerHTML = minutes + ":" + remainingSeconds;
    if (seconds == 0) {
        clearInterval(countdownTimer);

    } else {
        seconds--;
    }
}

var countdownTimer = setInterval('secondPassed()', 1000);
</script> 

HTML:

...

<span id="countdown" class="timer"></span>

...

问题是,当我用F5刷新页面时,它会显示非常不同的时间(+/- 10-20秒,或更多差异)

任何想法如何解决这个问题?如何从服务器获取非常精确的时间数据? 我用Google搜索,但我无法找到解决此问题的方法。

感谢您的建议

1 个答案:

答案 0 :(得分:0)

我的问题解决了,有可能.. 在主帖上我有一些PHP部分的错误.. 我工作的PHP解决$ tt(剩下的时间,直到下半小时的间隔)

PHP

unset($tt);unset($min);unset($sec);
$min = date('i');
$sec = date('s');

$tt=3600-($min*60+$sec);
if ($tt>=1800) {$tt=$tt-1800;}