我正在尝试使用Firebase的时间戳,但是我不了解JavaScript的文档。如何将检索到的值转换为时间(即4:00 pm),这是我一直在使用的页面:https://firebase.google.com/docs/database/web/offline-capabilities#server-timestamps
似乎您使用.set(firebase.database.ServerValue.TIMESTAMP);
设置了时间戳记,并且
var offsetRef = firebase.database().ref(".info/serverTimeOffset");
offsetRef.on("value", function(snap) {
var offset = snap.val();
var estimatedServerTimeMs = new Date().getTime() + offset;
});
获取时间戳和客户端的时钟偏斜。由于您正在获取“用于自动填充Firebase服务器确定的当前时间戳记(自Unix纪元以来的时间,以毫秒为单位)的占位符值”,因此您似乎无法按照此处询问的方式执行此操作我会做的:Firebase TIMESTAMP to date and Time
var timestamp = '1452488445471';
var myDate = new Date(timestamp);
我不太了解答案:
fb.ref("/.info/serverTimeOffset").on('value', function(offset) {
var offsetVal = offset.val() || 0;
var serverTime = Date.now() + offsetVal;
});
这就是我所拥有的:
let timestamp;
let timestampRef = firebase.database().ref("server");
timestampRef.set(firebase.database.ServerValue.TIMESTAMP);
timestampRef.on("value", function(snap) {
let offset = snap.val();
let estimatedServerTimeMs = new Date().getTime() + offset;
console.log("time stamp: ", timestampRef);
console.log("offset: ", offset);
console.log("estimatedServerTimeMs: ", estimatedServerTimeMs);
});
答案 0 :(得分:0)
您过于复杂了。您不需要任何偏移量即可读取服务器时间戳记令牌写入的时间。自unix纪元以来以毫秒数表示的日期值将以整数形式显示,您可以在服务器解释后将其输入new Date()
。