我想将Android应用中的日期作为日期对象保存到Firebase实时数据库中。
我已经尝试过:
System.currentTimeMillis() / 1000L
显示this
new Date(System.currentTimeMillis() / 1000L)
显示this
必须将其存储as shown。 有任何想法吗?感谢您的宝贵时间。
答案 0 :(得分:1)
实时数据库没有日期类型值。它仅支持JSON也支持的值类型。这意味着您应该将时间戳记存储为整数。通常,您使用System.currentTimeMillis()
表示形式(如您所显示的, not 除以1000),因为这也是ServerValue.TIMESTAMP的工作方式,也是安全规则在内部表示的方式当前时间。
请注意,这与Cloud Firestore有所不同,后者确实具有本机时间戳字段类型。
在上一个屏幕截图中显示的只是一个格式化的字符串日期。我不建议在数据库中使用它,因为格式化后的字符串可能很难以您期望的方式进行比较。您应该使用客户端的语言环境首选的日期格式在客户端上格式化字符串。
如果必须存储格式化的字符串日期,则必须自己操作,也许使用one of the options provided by Android。