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 - 如何获得准确的服务器时间的主要内容,如果未能解决你的问题,请参考以下文章