我想保存在 Firestore 中创建帖子的日期,但我不想使用系统时间。相反,为了准确起见,我想使用服务器时间戳。所以我使用 FieldValue.serverTimestamp()
来获取服务器时间戳,但保存它的变量的数据类型是日期。那么如何将 FieldValue.serverTimestamp()
转换为 Date
呢?
以下是我的数据类的外观
data class MyModel( var timeStamp: Date,
constructor(): this(Calendar.getInstance().time, "")
}
PS:当我在数据类中将时间戳声明为 FieldValue 时,出现以下错误:
最佳答案
您收到以下错误:
因为 FieldValue
不是 supported data type 。您应该使用 Date 类或扩展 Date
类的任何其他类,例如 Timestamp 类。
没有必要做任何 Actor 。在 Java 中,甚至 没有 需要初始化 timeStamp
字段。为了使其工作,您应该只使用注释,如我在以下帖子中的回答中所述:
编辑:
在 Kotlin 中,您应该在构造函数中使用
timeStamp
值初始化 null
字段,如下所示:data class MyModel(
@ServerTimestamp
val timeStamp: Date? = null)
关于java - 如何将 FieldValue.serverTimestamp() 转换为 Kotlin/Java 日期类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57534290/