如何在 Kotlin 中使用 Timestamp(Date()) 修复此错误

Posted

技术标签:

【中文标题】如何在 Kotlin 中使用 Timestamp(Date()) 修复此错误【英文标题】:How to fix this Error with Timestamp(Date()) in Kotlin 【发布时间】:2022-01-16 15:28:59 【问题描述】:

我正在尝试使用我在 firebase 网站上找到的这段代码 Here

不仅如此,其他人还使用 Date() 作为他们代码的一部分,并且由于某种原因它给了我错误。这是我在代码上遇到的错误。

这是我的进口:

import com.google.firebase.Timestamp
import com.google.firebase.auth.FirebaseAuth
import com.google.firebase.firestore.ktx.firestore
import com.google.firebase.ktx.Firebase
import com.google.type.Date

对此的任何解决方案将不胜感激。我相信错误与 Date 的导入一致。

【问题讨论】:

好的:***.com/q/53413776/5468463、***.com/q/65268300/5468463、***.com/q/51054789/5468463、***.com/q/59498497/5468463 等... @Vega 类似的错误,但不一定解决我在其中使用 Timestamp 和 Date() 时遇到的问题。根据我的发现,它似乎是一个包,不知道该包到底有什么问题,因为我对 kotlin 有点陌生,因此这些帖子都没有完全解决我的问题。其中两个我以前遇到过。 为此,您需要先发布minimal reproducible example。码图没用,不够用 【参考方案1】:

您导入了错误的 Date 类。您的屏幕截图显示您使用的是com.google.type.Date,但Firestore 的Timestamp constructor 只允许java.util.Date 类型参数。更正您的导入,然后重试。

【讨论】:

我正在使用 kotlin,java.util.Date 在我的导入中不起作用。那么它只对Java有用吗? 使用 Kotlin 或 Java 并不重要。 java.util.Date 是 JDK 提供的一个对象,两种语言都可以完美使用。 Kotlin 可以使用底层 JDK 提供的整个 Java API,因为它们在同一环境中运行。如果没有看到您的整个代码和任何其他错误消息,就不可能看到您做错了什么。 我收到了一个错误,因为我实施了另一个 Date 导入!我修好了。现在一切顺利。非常感谢您的帮助!

以上是关于如何在 Kotlin 中使用 Timestamp(Date()) 修复此错误的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 中将 MySql 查询转换为 SQL Room 查询 - kotlin

如何在 Spark 中使用 Timestamp/Date 类型的参数创建 UDF

如何使Kibana中TimeStamp和日志时间一致

如何在 kotlin 中使用片段

如何在 Kotlin 中使用 ViewModelProviders

如何在 Kotlin Multiplatform(纯 kotlin)中进行延迟