gpt4 book ai didi

php - 创建区域相关时钟

转载 作者:行者123 更新时间:2023-12-02 18:23:25 24 4
gpt4 key购买 nike

我的本​​地服务器和浏览器(本地系统)有一个工作时钟。两者都很好用。现在我想做的是找到时钟之间的时间偏移(以秒为单位),并将其添加到本地系统时钟。

例如:我的系统时钟是:10:00:00,服务器时钟是同一日期的 12:15:00。那么偏移量将是:02:15:00(当然将以秒为单位,但仅用于我这样写的示例)。然后将其添加到(浏览器)本地时间,这样我最终就可以显示服务器时间。 12:15:00。

这就是我在这里所做的:

var interval = self.setInterval(function(){
clock();
},1000);

function clock()
{
//Get local server time
<?php $today = getdate(); ?>;
var ser = <?php echo $today[0]; ?>;

//Local client time
var seconds = Date.now();
var offset = seconds-ser*1000;
parseInt(offset/1000);

var d = new Date();
d.setTime(Date.now()-offset);
var h = d.getHours();
var m = d.getMinutes();
var s = d.getSeconds();

if(s < 10)
s = "0" + s;
if(m < 10)
m = "0" + m;
if(h < 10)
h = "0" + h;

var tm = h+":"+m+":"+s;
document.getElementById("clock").value = tm;
}

但是一旦我输入变量

offset

在这一行中:d.setTime(Date.now()-offset);

时钟不再更新。我猜 PHP 兼容性有问题。知道如何解决吗?谢谢

最佳答案

偏移量计算必须在重复调用的函数之外:

//Get local server time
<?php $today = getdate(); ?>;
var ser = <?php echo $today[0]; ?>;

//Local client time
var seconds = Date.now();
var offset = seconds-ser*1000;
parseInt(offset/1000); // BY THE WAY: As the returnval of parseInt isn't stored anywhere, this line does nothing

var interval = self.setInterval(function(){
clock();
},1000);

function clock()
{

var d = new Date();
d.setTime(Date.now()-offset);
var h = d.getHours();
var m = d.getMinutes();
var s = d.getSeconds();

if(s < 10)
s = "0" + s;
if(m < 10)
m = "0" + m;
if(h < 10)
h = "0" + h;

var tm = h+":"+m+":"+s;
document.getElementById("clock").value = tm;
}

关于php - 创建区域相关时钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18610814/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com