当前位置:  开发笔记 > 编程语言 > 正文

Firebase TIMESTAMP到日期和时间

如何解决《FirebaseTIMESTAMP到日期和时间》经验,为你挑选了4个好方法。

我在聊天应用程序中使用firebase.在聊天对象中,我使用Firebase.ServerValue.TIMESTAMP方法添加时间戳.

我需要使用此时间戳在聊天应用程序中显示消息接收时间.

如果它是当前时间我只需要显示时间.我需要显示日期和时间或仅显示日期.

我使用以下代码转换Firebase时间戳,但我没有得到实际时间.

var timestamp = '1452488445471';
var myDate = new Date(timestamp*1000);
var formatedTime=myDate.toJSON();

请为此问题提出解决方案



1> Bek..:

Firebase.ServerValue.TIMESTAMP不是实际时间戳,它是常量,如果将其设置为某个变量,将替换为服务器中的实际值.

mySessionRef.update({ startedAt: Firebase.ServerValue.TIMESTAMP });
mySessionRef.on('value', function(snapshot){ console.log(snapshot.val()) })
//{startedAt: 1452508763895}

如果您想获得服务器时间,那么您可以使用以下代码

  fb.ref("/.info/serverTimeOffset").on('value', function(offset) {
    var offsetVal = offset.val() || 0;
    var serverTime = Date.now() + offsetVal;
  });



2> Tiago Gouvêa..:

事实上,它只对我有用

firebase.database.ServerValue.TIMESTAMP

有一个'数据库'更多关于命名空间.



3> Kyle Finley..:

对于那些寻找与Firebase Firestore等效的人.它的

firebase.firestore.FieldValue.serverTimestamp()

例如

firebase.firestore().collection("cities").add({
    createdAt: firebase.firestore.FieldValue.serverTimestamp(),
    name: "Tokyo",
    country: "Japan"
})
.then(function(docRef) {
    console.log("Document written with ID: ", docRef.id);
})
.catch(function(error) {
    console.error("Error adding document: ", error);
});

文件



4> Matt..:

适用于较新版Firebase的解决方案(2016年1月之后)

将时间戳附加到数据库更新的正确方法是在请求中附加占位符值.在下面的示例中,Firebase将createdAt使用时间戳替换该属性:

firebaseRef = firebase.database().ref();
firebaseRef.set({
  foo: "bar", 
  createdAt: firebase.database.ServerValue.TIMESTAMP
});

根据文档,该值为firebase.database.ServerValue.TIMESTAMP:"Firebase数据库服务器自动填充当前时间戳(自Unix纪元以来的时间,以毫秒为单位)的占位符值."

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有