即使客户端上的时间错误,也可以从客户端获取正确的纪元时间

时间:2015-04-30 10:03:21

标签: javascript timestamp countdowntimer epoch

我正在构建一个需要客户端的纪元时间的实时网络应用程序。计算涉及来自我的服务器的时间戳和来自客户端的时间戳。我使用以下代码从客户端使用JS获取纪元时间戳:

var milliseconds = Math.floor((new Date).getTime()/1000);

JS是基于客户端的,因此检索的值基于客户端的日期/时间。因此,客户端日期/时间可能配置错误,检索到的纪元时间错误。

有没有办法确保来自客户的纪元时间是正确的?或者有没有办法纠正错误?

当然,我可以使用AJAX从服务器获取纪元时间,但由于我在倒计时功能中使用了这段时间,这意味着我必须每秒都点击服务器..

[之所以我不在每个循环中添加秒当前时间,是因为我在移动设备睡眠时遇到问题。当移动设备唤醒时,它会从关闭时开始倒计时。它不会考虑当前时间增加。 ]

任何建议都将不胜感激!

1 个答案:

答案 0 :(得分:2)

var getClientMillis = function() {
    return Date.now();
}

var realStartTime = getServerMillis();
var clientStartTime = getClientMillis();

var getCurrentMillis = function() {
    return realStartTime + (getClientMillis() - clientStartTime);
}  

您需要自己实施getServerMillis()

相关问题