Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.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
Php 如何获取服务器时间并每秒更新?_Php_Javascript_Jquery_Ajax_Date - Fatal编程技术网

Php 如何获取服务器时间并每秒更新?

Php 如何获取服务器时间并每秒更新?,php,javascript,jquery,ajax,date,Php,Javascript,Jquery,Ajax,Date,我向特定服务器发出ajax请求,并获得响应。我正在使用jsonp进行跨域请求。是否有方法获取我发出请求的服务器时间。编写php脚本会更好,还是只做ajax请求就好。假设我提出以下请求: $.ajax({ dataType: 'jsonp', data: 'jsonp=date', jsonp: 'jsonp_callback', url: 'http://www.google.com',

我向特定服务器发出ajax请求,并获得响应。我正在使用jsonp进行跨域请求。是否有方法获取我发出请求的服务器时间。编写
php脚本
会更好,还是只做ajax请求就好。假设我提出以下请求:

$.ajax({
        dataType: 'jsonp',
        data: 'jsonp=date',
        jsonp: 'jsonp_callback',                
        url: 'http://www.google.com',   
        success: function (data) {                  
        }
});

如何从该请求中获取服务器时间?如果有任何建议,请帮忙。另外,在获得时间后,如果我使用
setInterval
方法每秒更新一次时间,那么在特定的时间更新时间之后发出相同的ajax请求会是一个代价高昂的操作还是更好的操作。我有实时数据要随时间更新。

第1部分的答案是,您需要在响应中输出服务器时间,以便javascript读取它。对于第2部分,我将等待加载响应,然后使用
setTimeout
。使用
setInterval
意味着您可能会在第一个响应返回之前触发两次ajax调用。

第1部分的答案是,您需要在响应中输出服务器时间,以便javascript读取它。对于第2部分,我将等待加载响应,然后使用
setTimeout
。使用
setInterval
意味着您可能会在第一个响应返回之前触发两次ajax调用。

如果服务器没有明确地向您提供时间,您将无法获取服务器的时间。
您可以读取它的HTTP头,但这不是一件好事,因为头可能不是每次都提供此信息,或者它们的格式可能不是一直相同

而且,我不认为每秒钟都问这个问题有什么意义。
问它一次,计算它的时间和你的时间之间的差异,你就得到了:你得到了时间的差异,你可以在任何你想要的地方使用它


请记住,即使您获得了时间,由于网络的延迟,您获得的时间与服务器的实时时间之间也可能存在差异

如果服务器没有明确提供给您,则无法获取服务器的时间。
您可以读取它的HTTP头,但这不是一件好事,因为头可能不是每次都提供此信息,或者它们的格式可能不是一直相同

而且,我不认为每秒钟都问这个问题有什么意义。
问它一次,计算它的时间和你的时间之间的差异,你就得到了:你得到了时间的差异,你可以在任何你想要的地方使用它


请记住,即使您获得了时间,由于网络的延迟,您获得的时间与服务器的实时时间之间也可能存在差异

当您建议服务器时间时,您是指执行调用的脚本还是服务器上的实际时间

这样做的必要性是什么?例如,您是否试图计算通话间隔时间,以便每5秒自动拨打一次电话

如果您只是简单地从javascript获取一个区域设置时间,并在ajax中获得响应时比较它就足够了


否则,由于javascript的“客户端”特性,它将无法获得服务器时间。

当您建议使用服务器时间时,您是指执行调用的脚本还是服务器上的实际时间

这样做的必要性是什么?例如,您是否试图计算通话间隔时间,以便每5秒自动拨打一次电话

如果您只是简单地从javascript获取一个区域设置时间,并在ajax中获得响应时比较它就足够了


否则,由于javascript的“客户端”特性,它将无法获取服务器时间。

我请求的服务器当前使用UTC时间。所以我想花点时间,然后根据客户端的时区进行转换。由于没有使用XHR对象,jsonp上没有可用的TTP头。@JonathanM感谢您指出这一点。请随意编辑我的答案。:)@萨米,不需要编辑。关于一次获取时间和考虑延迟的好答案。@user850234如果您已经知道服务器时区,只需使用PHP将您的本地日期转换为该时区时间!我请求的服务器当前使用UTC时间。所以我想花点时间,然后根据客户端的时区进行转换。由于没有使用XHR对象,jsonp上没有可用的TTP头。@JonathanM感谢您指出这一点。请随意编辑我的答案。:)@萨米,不需要编辑。关于一次获取时间和考虑延迟的好答案。@user850234如果您已经知道服务器时区,只需使用PHP将您的本地日期转换为该时区时间!