我在 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/