gpt4 book ai didi

java - 如何将 FieldValue.serverTimestamp() 转换为 Kotlin/Java 日期类

转载 作者:行者123 更新时间:2023-12-01 14:14:12 24 4
gpt4 key购买 nike

我想保存在 Firestore 中创建帖子的日期,但我不想使用系统时间。为了准确起见,我想使用服务器时间戳。所以我使用FieldValue.serverTimestamp()获取服务器时间戳,但保存它的变量的数据类型是日期。那么我该如何投FieldValue.serverTimestamp()Date ?

下面是我的数据类的外观

data class MyModel( var timeStamp: Date,
constructor(): this(Calendar.getInstance().time, "")
}

PS:当我在数据类中将时间戳声明为 FieldValue 时,出现以下错误:

java.lang.RuntimeException: No properties to serialize found on class com.google.firebase.firestore.FieldValue

最佳答案

您收到以下错误:

java.lang.RuntimeException: No properties to serialize found on class com.google.firebase.firestore.FieldValue



因为 FieldValue不是 supported data type .您应该使用 Date类或任何其他扩展 Date 的类类,例如 Timestamp类(class)。

How do I cast FieldValue.serverTimestamp() to Kotlin/Java Date Class



没有必要做任何 Actor 。在 Java 中甚至还有 没有需要初始化 timeStamp field 。为了使其工作,您应该只使用注释,如我在以下帖子中的回答中所述:
  • ServerTimestamp is always null on Firebase Firestore

  • 编辑:

    在 Kotlin 中,你应该初始化你的 timeStamp构造函数中带有 null 的字段像这样的值(value):
    data class MyModel(
    @ServerTimestamp
    val timeStamp: Date? = null)

    关于java - 如何将 FieldValue.serverTimestamp() 转换为 Kotlin/Java 日期类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57534290/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com