使用 angularfire2 在 firebase 数据库中获取时间

Posted

技术标签:

【中文标题】使用 angularfire2 在 firebase 数据库中获取时间【英文标题】:Get Time in firebase database using angularfire2 【发布时间】:2016-12-04 13:09:29 【问题描述】:

我正在使用 Angularfire2,并且正在测试构建一个将消息推送到数据库中的聊天应用程序。我想获取推送数据的时间。非常感谢您的帮助。非常感谢!

【问题讨论】:

【参考方案1】:

Firebase 使用一个常量值,该值在写入数据库时​​被数字时间戳替换。这消除了跨客户端跟踪和同步时间的需要。

firebase.database.ServerValue.TIMESTAMP

然后您可以读取刚刚写入的参考值以查看准确时间。

var sessionsRef = firebase.database().ref('sessions');
var mySessionRef = sessionsRef.push();
mySessionRef.update( startedAt: firebase.database.ServerValue.TIMESTAMP );
mySessionRef.once('value').then(function(dataSnapshot) 
  var time = dataSnapshot.child('startedAt'); // the time when the data was written
);

【讨论】:

是的,我看到了这个,但是你如何在 Angular 2 Typescript 中实现它?谢谢! 这只是一个可以包含在任何书面数据中的值。我不确定我是否理解你的问题。也许您可以edit your question 准确描述您遇到的问题。 如果您使用的是 AngularFire2,则您使用的是 firebase 的包装器,我也看不到任何对 ServerValue.TIMESTAMP 的访问权限【参考方案2】:
firebase.database['ServerValue']['TIMESTAMP']

【讨论】:

以上是关于使用 angularfire2 在 firebase 数据库中获取时间的主要内容,如果未能解决你的问题,请参考以下文章

将 FirebaseUI 与 AngularFire2 一起使用

如何使用 AngularFire2 和 Firebase 存储上传文件数组?

使用 Angular2、angularfire2 和 Typescript 从 Firebase 对象中获取数据

使用 angularfire2 时如何访问本机 Firebase 对象?

如何在 AngularFire2 中获取当前用户的访问令牌?

Angularfire2 基于角色的授权,支持页面刷新