Voy*_*Voy 16 android timestamp firebase firebase-realtime-database
目前,Google的ServerValue.TIMESTAMP
退货版本将{".sv":"timestamp"}
用作Firebase的指令,以便在将数据保存到Firebase服务器后使用服务器时间戳填充该字段.
但是,当您在客户端创建数据时,您还没有实际的时间戳(即用作创建日期).在初始保存和随后的检索之后,您只能访问时间戳,我想 - 有时候太晚了,不太优雅.
在Google之前:
更新:忽略此部分,因为它不正确 - 我误解了这些例子.ServerValue.TIMESTAMP
总是回来的{".sv":"timestamp"}
.
据我所知,在google之前的Firebase中,似乎有一个服务器生成的时间戳可用于获取实际时间戳:
import com.firebase.client.ServerValue;
ServerValue.TIMESTAMP // eg. 1466094046
Run Code Online (Sandbox Code Playgroud)
问题:
注意:
我不打算new Date()
在客户端使用,因为我一直在阅读它并不安全,但如果你认为不同,请分享你的想法.
Fra*_*len 26
ServerValue.TIMESTAMP
在写入操作中使用常量时,表示Firebase数据库服务器在执行写入操作时应确定正确的时间戳.
假设我们运行此代码:
ref.addValueEventListener(new ValueEventListener() {
public void onDataChange(DataSnapshot dataSnapshot) {
System.out.println(dataSnapshot.getValue());
}
public void onCancelled(DatabaseError databaseError) { }
});
ref.setValue(ServerValue.TIMESTAMP);
Run Code Online (Sandbox Code Playgroud)
这将执行如下:
ServerValue.TIMESTAMP
如果您使用的是ChildEventListener
代替a ValueEventListener
,则客户端将onChildAdded
在步骤3和onChildChanged
步骤8中调用.
ServerValue.TIMESTAMP
自从Firebase加入Google以来,我们生成的方式没有任何改变.之前有效的代码将继续有效.这也意味着您链接的第一个答案是处理它的有效方法.
归档时间: |
|
查看次数: |
32092 次 |
最近记录: |