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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php - 如何获得准确的服务器时间相关的知识,希望对你有一定的参考价值。

我通过crontab每隔30分钟在我的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搜索,但我无法找到解决此问题的方法。

谢谢你的建议

答案

我的问题解决了,它有可能..在主帖上我有一些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;}

以上是关于php - 如何获得准确的服务器时间的主要内容,如果未能解决你的问题,请参考以下文章

如何准确延长微小视频片段的持续时间?

如何获得准确的浏览器名称和版本?

如何获得 std::string 的准确长度?

如何通过 GPS_PROVIDER 获得更高的准确性

如何使用 Detectron2 的 tensorboard 获得测试准确性?

如何从 Tizen 上的实时 FFT 获得最准确的音频数据?