在我的国际象棋应用程序中,我Firebase.ServerValue.TIMESTAMP
用来记录移动的时间。
假设该用户有24小时的举动。如果他们在24小时内没有采取任何行动,他们将输掉比赛。
我想显示用户还剩下多少时间采取行动。要计算这一点,我需要知道当前的unix时间戳,然后执行以下操作:
time left = (last move unix timestamp) + (24 hours) - (current unix timestamp)
我觉得假设用户的机器时间正确可能不是最好的主意。
有没有办法从Firebase服务器获取Unix时间戳?
您可以利用它.info/serverTimeOffset
来计算从本地到服务器的差异:
var getCurrentTimestamp = (function() {
var OFFSET = 0;
fbutil.ref("/.info/serverTimeOffset").on('value', function(ss) {
OFFSET = ss.val()||0;
});
return function() {
return Date.now() + OFFSET;
}
})();
var now = getCurrentTimestamp();
var delta = now - timestamp;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句