如何在php中每隔1秒显示服务器日期和时间的实时更改?

如何在php中每隔1秒显示服务器日期和时间的实时更改?,php,time,clock,Php,Time,Clock,我编写这段php代码是为了显示服务器日期和时间,但我希望每隔1秒显示服务器日期和时间的实时变化 <p><?php echo "Server Time " . date("Y-m-d h:i:s"); ?> (GMT) UTC +0 UK/London</p> (格林尼治标准时间)UTC+0英国/伦敦 请帮助我,谢谢你你需要使用Javascript,类似这样的东西: <body> <p id="time"></p> <

我编写这段php代码是为了显示服务器日期和时间,但我希望每隔1秒显示服务器日期和时间的实时变化

<p><?php echo "Server Time " . date("Y-m-d h:i:s"); ?> (GMT) UTC +0 UK/London</p>
(格林尼治标准时间)UTC+0英国/伦敦


请帮助我,谢谢你

你需要使用Javascript,类似这样的东西:

<body>
<p id="time"></p>
</body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type="text/javascript">
var timestamp = '<?=time();?>';
function updateTime(){
  $('#time').html(Date(timestamp));
  timestamp++;
}
$(function(){
  setInterval(updateTime, 1000);
});
</script>

var时间戳=“”; 函数updateTime(){ $('#time').html(日期(时间戳)); 时间戳++; } $(函数(){ setInterval(更新时间,1000); });
如果您仍然需要使用服务器时钟的实时时钟,您可以尝试此方法。我在用树枝
{{now | date('Y/m/dh:i:s')}
。但是您也可以使用php的
。它基本上使用
localStorage
将服务器日期存储在
localStorage
上,
setSeconds
每隔1秒更新
localStorage
,而now变量加载
localStorage
日期并将其转换为js日期格式。然后,我在
date
元素中使用
{now | date('Y/m/dh:I:s')}}
以在未启用本地存储的情况下进行回退

  try {
localStorage.setItem('today', new Date("{{now|date('Y/m/d H:i:s')}}");
setInterval(function clock() {
    var month = [
    "Jan", "Feb", "Marh", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Octr", "Nov", "Dec"
    ];
    var now = new Date(localStorage.getItem('today'));
    now.setSeconds(now.getSeconds() + 1);
    localStorage.setItem('today', now);
    var G = format(now.getHours() % 12 || 12);
    var i = format(now.getMinutes());
    var s = format(now.getSeconds());
    var M = month[now.getMonth()];
    var d = format(now.getDate());
    var Y = now.getFullYear();
    function format(data) {
        return (data < 10 ? data = "0" + data : data);
    }
    $("#date").html(M + ". " + d + ", " + Y + " " + G + ":" + i + ":" + s);
    return clock;
}(), 1000);
} catch(e) {
    console.log(e);
}
试试看{
setItem('today',新日期({now | Date('Y/m/dh:i:s')});
设置间隔(功能时钟(){
var月=[
“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”
];
var now=新日期(localStorage.getItem('today');
now.setSeconds(now.getSeconds()+1);
setItem('today',now);
var G=格式(now.getHours()%12 | | 12);
var i=格式(now.getMinutes());
var s=格式(now.getSeconds());
var M=month[now.getMonth()];
var d=格式(now.getDate());
var Y=now.getFullYear();
函数格式(数据){
返回(数据<10?数据=“0”+数据:数据);
}
html(M+“+d+”、“+Y+”、“+G+”:“+i+”:“+s);;
返回时钟;
}(), 1000);
}捕获(e){
控制台日志(e);
}

使用Ajax显示不断变化的时钟,显示服务器时间。为此创建两个文件:使用Ajax发送请求和接收数据的文件

server-clock.php 开发一个脚本,通过单击按钮,我们可以向服务器发送请求以获取数据。在该文件的正文中,我们有一个按钮

 <input type=button value=
'Get Server Time' onclick="timer_function();">  
计时器功能:计时器功能() 单击此按钮将触发一个使用计时器setTimeout的函数。在该计时器函数中,它可以更改刷新率(以毫秒为单位)。在该函数中,我们将主Ajax函数称为AjaxFunction()

在AjaxFunction()的末尾,再次调用timer_function()使其递归

tt=timer_function();
在主AjaxFunction()中,向clock.php文件发送请求并获取服务器时间。此数据使用div层显示

if(httpxml.readyState==4)
      {
document.getElementById("msg").innerHTML=httpxml.responseText;
document.getElementById("msg").style.background='#f1f1f1';
      }
第二个文件是简单的PHP文件,其中一行代码给出server.clock.PHP的当前日期和时间

<?Php
echo date("d/m/y : H:i:s", time());
?>


下载文件

您可以在加载页面时获取服务器时间,并使用javascript函数以每秒本地更新时间。 HTML页面

<script> var JS_BASE_URL = 'http://YOURSERVER/';</script>
<script src="assets/js/jquery-3.4.1.min.js" type="text/javascript"></script>
<script src="clock.js" type="text/javascript"></script>
</head>
<body>
Server Time  <span id="server_time">00:00:00</span>
</body>
var JS\u BASE\u URL='1http://YOURSERVER/';
服务器时间00:00:00
clock.js

var url = JS_BASE_URL+'/script.php';
var _h = 0;
var _m = 0;
var _s = 0;
$.ajax({ 
    url: url,
    type: 'GET',
    dataType: 'JSON', 
    success: function(res) {
        var timer = setInterval(serverTime,1000);
        function serverTime(){
            h = parseInt(res.hour)+_h;
            m = parseInt(res.minute)+_m;
            s = parseInt(res.second)+_s;
            if (s>59){                  
                s=s-60;
                _s=_s-60;                   
            }
            if(s==59){
                _m++;   
            }
            if (m>59){
                m=m-60;
                _m=_m-60;                   
            }
            if(m==59&&s==59){
                _h++;   
            }   
            _s++;
            $('#server_time').html(append_zero(h)+':'+append_zero(m)+':'+append_zero(s));               }
        function append_zero(n){
            if(n<10){
                return '0'+n;
            }
            else
                return n;
        }
    }
});
var url=JS_BASE_url+'/script.php';
var _h=0;
var _m=0;
var _s=0;
$.ajax({
url:url,
键入:“GET”,
数据类型:“JSON”,
成功:功能(res){
var定时器=设置间隔(服务器时间,1000);
函数serverTime(){
h=解数(分辨率小时)+u h;
m=帕塞因特(分辨率分钟)+μm;
s=parseInt(分辨率秒)+;
如果(s>59){
s=s-60;
_s=_s-60;
}
如果(s==59){
_m++;
}
如果(m>59){
m=m-60;
_m=_m-60;
}
如果(m==59&&s==59){
_h++;
}   
_s++;
$(“#服务器时间”).html(追加#zero(h)+”:“+追加#zero(m)+”:“+追加#zero(s));)
函数附加0(n){
如果(n)

检查github:

你试过什么?你知道吗?例如,我也试过这个javascript代码,它可以实时工作,但它显示我的电脑时间,而不是服务器日期和时间函数display_c(){var refresh=1000;//以毫秒为单位的刷新率mytime=setTimeout('display_ct()',refresh)}函数display_ct(){var strcount var x=new Date()document.getElementById('ct')。innerHTML=x;tt=display_c();}为什么不在没有互联网流量的情况下使用客户端时间。停止使用PHP。此代码显示我的pc日期和时间,而不是服务器日期和时间,因为JS是前端编程语言,所以它需要从计算机获取时间数据,如果需要服务器时间,则需要将时间戳从PHP传递到javascript,然后每隔一秒添加一个并格式化它显示日期和时间我更新它让你从服务器上获取时间和日期如何才能将脚本更改为只有H、m、s格式以及类似sze的格式
<script> var JS_BASE_URL = 'http://YOURSERVER/';</script>
<script src="assets/js/jquery-3.4.1.min.js" type="text/javascript"></script>
<script src="clock.js" type="text/javascript"></script>
</head>
<body>
Server Time  <span id="server_time">00:00:00</span>
</body>
var url = JS_BASE_URL+'/script.php';
var _h = 0;
var _m = 0;
var _s = 0;
$.ajax({ 
    url: url,
    type: 'GET',
    dataType: 'JSON', 
    success: function(res) {
        var timer = setInterval(serverTime,1000);
        function serverTime(){
            h = parseInt(res.hour)+_h;
            m = parseInt(res.minute)+_m;
            s = parseInt(res.second)+_s;
            if (s>59){                  
                s=s-60;
                _s=_s-60;                   
            }
            if(s==59){
                _m++;   
            }
            if (m>59){
                m=m-60;
                _m=_m-60;                   
            }
            if(m==59&&s==59){
                _h++;   
            }   
            _s++;
            $('#server_time').html(append_zero(h)+':'+append_zero(m)+':'+append_zero(s));               }
        function append_zero(n){
            if(n<10){
                return '0'+n;
            }
            else
                return n;
        }
    }
});
<?php
$data = array('fulldate'=>date('d-m-Y H:i:s'),
              'date'=>date('d'),
              'month'=>date('m'),
              'year'=>date('Y'),
              'hour'=>date('H'),
              'minute'=>date('i'),
              'second'=>date('s')
        );
        echo json_encode($data);
?>