使用此代码和按钮单击监听器
users.child(user.getUid()).child("Date").setValue(ServerValue.TIMESTAMP);
但我不希望它像1548105297646这样的时间戳
预期结果:
从1548105297646到19/1/2019 19:33:40
请检查我的Firebase数据库是否达到预期结果
是否有代码而不是(ServerValue.TIMESTAMP)???
答案 0 :(得分:1)
否,您不能直接将服务器时间以DateTime格式写入Firebase。
您有以下两种选择之一:
1-将服务器时间写为时间戳记,然后在您想使用它的时候阅读它(即我要做的事情)
2-如果确实需要将其存储为DateTime格式,则可以编写服务器时间戳,对其进行读取,转换,将其写入为DateTime。
答案 1 :(得分:1)
在实时数据库中,如果您对ServerValue.TIMESTAMP计时,则您将始终写入以unix纪元为单位的毫秒数。您无法更改此行为。
如果要将字符串写入数据库,请自己编写字符串并写入该值。但是我建议写数字是更好的选择,因为它们更容易在数据库中搜索和排序。您可能应该改为在客户端上格式化该日期值。 Java(尤其是Android)具有可使用的出色的日期和时间格式化库。