无法解析FIrestore“时间戳”字段

时间:2019-10-17 19:08:56

标签: java android firebase google-cloud-firestore

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

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

  

java.text.ParseException:无法解析的日期:“ [对象对象]”

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

  

{userId = someValue,id = someValue,   iv = someValue,text = someValue,   createdAt = [对象对象]}

如何处理此时间戳字段?

仅供参考:这是创建GCM通知的nodejs代码:

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

1 个答案:

答案 0 :(得分:0)

时间戳对象不仅是像其他日期类型一样的简单整数值。从API documentation中可以看到,它们具有秒纳秒的分量,并且没有标准的字符串表示形式。如果您想要更简单的东西,则必须自己编写。也许toMillis()可以正常工作,但是您可能会失去纳秒精度。