Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
实时时钟javascript从我的自定义时间开始_Javascript_Ajax_Time_Clock - Fatal编程技术网

实时时钟javascript从我的自定义时间开始

实时时钟javascript从我的自定义时间开始,javascript,ajax,time,clock,Javascript,Ajax,Time,Clock,我试图创建一个实时/动态时钟,它基于我的自定义时间而不是系统时间 有很多脚本,但我找不到从自定义时间开始的时钟 下面是我试图修改的一个示例。问题是秒数没有改变,看起来我需要使用ajax。没有ajax有什么方法可以做到这一点吗?如果没有,请帮助我使用ajax!!!我不喜欢ajax方法的原因是,应该调用并刷新另一个页面,这样它会占用服务器ram ex) 之前: <script> function show(){ var Digital=new Date() var hours=D

我试图创建一个实时/动态时钟,它基于我的自定义时间而不是系统时间

有很多脚本,但我找不到从自定义时间开始的时钟

下面是我试图修改的一个示例。问题是秒数没有改变,看起来我需要使用ajax。没有ajax有什么方法可以做到这一点吗?如果没有,请帮助我使用ajax!!!我不喜欢ajax方法的原因是,应该调用并刷新另一个页面,这样它会占用服务器ram

ex)

之前:

<script> 
function show(){ 
var Digital=new Date() 
var hours=Digital.getHours() 
var minutes=Digital.getMinutes() 
var seconds=Digital.getSeconds() 
... 
... 

函数show(){
var数字=新日期()
var hours=Digital.getHours()
var minutes=Digital.getMinutes()
var seconds=Digital.getSeconds()
... 
... 
之后:

<script> 
function show(){ 
var Digital=new Date() 
var hours=<?php echo $hr; ?>; 
var minutes=<?php echo $min; ?>; 
var seconds=<?php echo $sec; ?>; 
... 
... 

函数show(){
var数字=新日期()
var小时=;
var分钟=;
var秒=;
... 
... 

时钟不移动的原因是,它使用了最初呈现页面时服务器设置的小时、分钟和秒值,而不是每次
show()创建的新
Date()
实例调用了
。您需要利用JavaScript内置的日期对象来创建一个精确的时钟,因为设置超时的准确性不尽人意,而构建自己的时钟将是一件麻烦事(图像必须担心闰年和夏令时之类的事情!)

我建议每次调用
show()
时,使用自定义时间和实时时间之间的差值调整时钟值。例如,如果自定义时间比实时时间晚30分钟,则可以调用:

function show() {
   var Digital=new Date();
   Digital.setMinutes(Digital.getMinutes() - 30); // Rewind 30 minutes
   var hours=Digital.getHours()
   var minutes=Digital.getMinutes()
   var seconds=Digital.getSeconds()
   // ..
}


希望这有帮助!

时钟不移动的原因是,它使用的是最初呈现页面时服务器设置的小时、分钟和秒值,而不是每次
show()创建的新
Date()
实例调用了
。您需要利用JavaScript内置的日期对象来创建一个精确的时钟,因为设置超时的准确性不尽人意,而构建自己的时钟将是一件麻烦事(图像必须担心闰年和夏令时之类的事情!)

我建议每次调用
show()
时,使用自定义时间和实时时间之间的差值调整时钟值。例如,如果自定义时间比实时时间晚30分钟,则可以调用:

function show() {
   var Digital=new Date();
   Digital.setMinutes(Digital.getMinutes() - 30); // Rewind 30 minutes
   var hours=Digital.getHours()
   var minutes=Digital.getMinutes()
   var seconds=Digital.getSeconds()
   // ..
}


希望这有帮助!

谢谢..说得好!!但是,hr和sec不起作用..ex)函数show(){var Digital=new Date();Digital.getSeconds(Digital.getSeconds()-30);//倒带30秒var hours=Digital.getHours()
setSeconds
Digital.setSeconds(Digital.getSeconds()-30)没问题。如果你愿意,请随意勾选“标记为答案”框。谢谢..说得好!!但是,hr和sec不起作用..ex)函数show(){var Digital=new Date();Digital.getSeconds(Digital.getSeconds()-30);//倒带30秒var hours=Digital.getHours()
setSeconds
Digital.setSeconds>(Digital.getSeconds()-30);没问题。如果您愿意,请随意选中“标记为答案”框。