Mis*_*hko 2 javascript firebase
在我的国际象棋应用程序中,我Firebase.ServerValue.TIMESTAMP用来记录移动的时间.
假设用户有24小时的移动时间.如果他们在24小时内没有采取行动,他们将输掉比赛.
我想显示用户离开的时间.要计算这个,我需要知道当前的unix时间戳,然后我会这样做:
time left = (last move unix timestamp) + (24 hours) - (current unix timestamp)
Run Code Online (Sandbox Code Playgroud)
我觉得假设用户的机器时间正确可能不是最好的主意.
有没有办法从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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1446 次 |
| 最近记录: |