我想将日期转换为Firestore时间戳很长时间
object TimeStampConverter {
fun convertToTimeStamp(months: Int, year: Int): Date? {
val date = Calendar.getInstance()
date[Calendar.YEAR] = year // Set the year you want
date[Calendar.MONTH] = months
return date.time
}}
我想将TimeStampConverter函数返回的date.time转换为Firestore时间戳。
首先,Firestore时间戳是在服务器上生成的,正如Doug Stevenson在其评论中提到的那样,它可以存储小至纳秒的时间单位。
但是,如果要将年月转换为FirestoreTimestamp
对象,则天,小时,分钟,秒和纳秒的组件将始终为0。之所以发生这种情况,是因为这些组件根本不存在,因为您只使用了年和月。0
只是在这种情况下使用的默认值。
我作为Android想要更新此Firebase时间戳字段,因此我们应使用哪种数据类型
如有关Firestore数据类型的官方文档中所述,保存时间和日期的最合适方法是as Date
,如以下帖子中我的回答所述:
现在,如果要将Timestamp
对象转换为对象Date
,则意味着要缩小转换范围(损失了纳秒精度),而将Date
对象转换为Timestamp
对象则意味着要扩大转换范围。在这种情况下,如前所述,将添加新的精度,并将丢失的数据填充为零。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句