【问题标题】:Time queried using Javascript varies with Different Devices?使用Javascript查询的时间因设备而异?
【发布时间】:2015-05-18 01:55:42
【问题描述】:

我正在尝试使用 mysql、php 和 javascript 创建一个倒计时计时器。我试图使结束时间成为一个常数并存储在 mysql 服务器中,然后每秒通过 php 从 javascript 查询它。然后,我在 javascript 中获取当前时间,每秒使用 new Date() 函数。从结束时间中减去当前时间给我剩下的时间。

但是,我的问题是,在不同设备上查看网站时,使用javascript查询的当前时间会以秒为单位,有时甚至是分钟...请帮我解决这个问题..提前谢谢。

这是我尝试过的。

setInterval(function() 
    {


    $.post('QueryTime.php', 'get=true', function(data,status) 
    {
        if(status)
            var endingtime = data;
        else
            alert("Server Error! Please refresh the page.");
    });

    endingtime = parseInt(endingtime);



    var now = new Date();
    now = now.getTime(); 
    var timeleft = (date - now)/1000;
},1000);

【问题讨论】:

  • 只取你发起请求的本地时间,服务器说他确实收到请求的服务器时间,以及你收到响应的本地时间,并据此计算你自己的偏移量.

标签: javascript time variation


【解决方案1】:

您的意思是设备的实际本地时间会有所不同吗?通常是这种情况,更多的设备意味着更多的时间 :) 您可能想要的不是每次都必须通过new Date().getTime() 获取时间,而是可能从每个设备的相同远程位置获取当前时间。

这个远程位置可以是您的服​​务器,据我所知,它保存结束时间或来自互联网:

下面是一些通过 Javascript 中的 HTTP 请求获取 Unix 时间戳的代码:

var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", "http://currentmillis.com/api/millis-since-unix-epoch.php", false);
xmlHttp.send(null);
document.getElementById('info').innerHTML = xmlHttp.responseText;
<div id='info'></div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-14
    • 2013-12-15
    • 2019-02-26
    • 2012-02-03
    • 2018-10-28
    • 1970-01-01
    相关资源
    最近更新 更多