PHP 脚本 - 带时区的实时时钟



我想要一个实时更新的服务器时间时钟。 基本上它刷新日期('H:i:s T'(; 但我无法让它工作。

它应该在以下位置更新:

<div id="clock"> </div>

我创建的函数如下所示:

<script>
function digitalClock() {
var hrs;
var mins;
var tsecs;
var secs;
hrs = <?php echo date('H')?>;
mins = <?php echo date('i')?>;
secs = <?php echo date('s')?>;

var ctime = hrs + ":" + mins + ":" + secs + " CEST";
document.getElementById("clock").firstChild.nodeValue = ctime;
}
window.onload = function() {
digitalClock();
setInterval(digitalClock, 1000);
}
</script>

所以实际上它发布了正确的时间,但它根本没有更新。

如果有人能帮忙,我将不胜感激。

如果有人能解释我如何在javascipt中使用我的CEST时区,那就太棒了。

在您的情况下,小时、分钟和秒的值是固定的,因为 PHP 将显示它们一次,之后它们将成为常量,您需要做的是每次触发 digitalClock(( 时刷新这些值,这是一种方法(您进一步编辑此代码以匹配您的时区/服务器时间(,希望它对您有所帮助

<div id="clock"> </div>
<script>
function digitalClock() {
var d = new Date();
var h = d.getHours();
var m = d.getMinutes();       
var s = d.getSeconds();   
var hrs;
var mins;
var tsecs;
var secs;
hrs = h;
mins = m;
secs = s;
var ctime = hrs + ":" + mins + ":" + secs + " CEST";
document.getElementById("clock").firstChild.nodeValue = ctime;
}
window.onload = function() {
digitalClock();
setInterval('digitalClock()', 1000);
}
</script>

您可以使用 php 获取您想要的任何时区。

<?php
date_default_timezone_set("Europe/Berlin");
$tz_time = date("F j, Y h:i:s");
?>
<p id="clock"></p>
<script type="text/javascript">
var currenttime = '<?php echo $tz_time;?>'; // Timestamp of the timezone you want to use, in this case, it's server time
var servertime=new Date(currenttime);
function padlength(l){
var output=(l.toString().length==1)? "0"+l : l;
return output;
}
function digitalClock(){
servertime.setSeconds(servertime.getSeconds()+1);
var timestring=padlength(servertime.getHours())+":"+padlength(servertime.getMinutes())+":"+padlength(servertime.getSeconds());
document.getElementById("clock").innerHTML=timestring + " CEST";
}
window.onload=function(){
setInterval("digitalClock()", 1000);
}
</script> 

最新更新