我正在构建一个需要客户端的纪元时间的实时网络应用程序。计算涉及来自我的服务器的时间戳和来自客户端的时间戳。我使用以下代码从客户端使用JS获取纪元时间戳:
var milliseconds = Math.floor((new Date).getTime()/1000);
JS是基于客户端的,因此检索的值基于客户端的日期/时间。因此,客户端日期/时间可能配置错误,检索到的纪元时间错误。
有没有办法确保来自客户的纪元时间是正确的?或者有没有办法纠正错误?
当然,我可以使用AJAX从服务器获取纪元时间,但由于我在倒计时功能中使用了这段时间,这意味着我必须每秒都点击服务器..
[之所以我不在每个循环中添加秒当前时间,是因为我在移动设备睡眠时遇到问题。当移动设备唤醒时,它会从关闭时开始倒计时。它不会考虑当前时间增加。 ]
任何建议都将不胜感激!
答案 0 :(得分:2)
var getClientMillis = function() {
return Date.now();
}
var realStartTime = getServerMillis();
var clientStartTime = getClientMillis();
var getCurrentMillis = function() {
return realStartTime + (getClientMillis() - clientStartTime);
}
您需要自己实施getServerMillis()
。