java - 无法解析 FIrestore "Timestamp"字段

标签 java android firebase google-cloud-firestore

我在 Firestore 中有一个类型为“Timestamp”的字段。我可以使用 java“Date”类型或 java Firebase“Timestamp”类型将值存储在 Firestore 中。该字段作为“时间戳”类型成功存储在 Firebase 中。

当我尝试使用 GCM 将值从服务器发送回客户端时,出现以下错误:

java.text.ParseException: Unparseable date: "[object Object]"

我已注销 RemoteMessage.getData(),注意“createdAt”字段,这是给出解析错误的时间戳。

{userId=someValue, id=someValue, iv=someValue, text=someValue, createdAt=[object Object]}

我该如何处理这个时间戳字段的解析?

仅供引用:这是创建 GCM 通知的 nodejs 代码:

data: {
    id:        `${id}`,
    userId:    `${userId}`,
    text:      `${text}`,
    createdAt: `${createdAt}`,
    iv:        `${iv}`
}

最佳答案

Timestamp 对象不像其他 Date 类型那样只是一个简单的整数值。从API documentation可以看出,它们有一个秒纳秒组件,并且没有标准的字符串表示形式。如果您想要更简单的东西,则必须自己编写。也许 toMillis() 可以正常工作,但您可能会失去纳秒精度。

关于java - 无法解析 FIrestore "Timestamp"字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58439271/

相关文章:

ios - 从 Firebase 中的最后一个 child 那里获取 key

java - 如何从另一个类的静态类中调用方法?

java - 使用 Java 从 XML 文件获取属性

java - 从 MySQL php 中的特定列获取最大 ID 和最小 ID

Android smoothScrollTo 不调用 onScrollStateChanged

node.js - 通过 node.js 通过 FCM HTTP v1 API 发送通知

java - 嵌套类与实现 ActionListener

java - 如何使用 RemoteViews 更改小部件背景?

java - 在 Android 中比较 View 和布局的资源高效方式

Android Firebase - .setPersistenceEnabled(true) 时启动时间缓慢