Flutter:Firebase FieldValue.serverTimestamp() 到 DateTime 对象

10 dart firebase flutter google-cloud-firestore

我有

FieldValue.serverTimestamp()
Run Code Online (Sandbox Code Playgroud)

我找不到DateTime在 Flutter 中将此时间戳转换为对象的方法。有什么办法吗?或者任何其他使用 firebase 的 API 调用?

Fra*_*len 12

FieldValue.serverTimestamp()不是时间戳,而是所谓的哨兵 - 发送到服务器的标记,然后服务器识别并解释以写入当前时间戳。这意味着无法FieldValue.serverTimestamp()在客户端转换为时间戳。

您可以做的是写入 FieldValue.serverTimestamp()服务器上的文档,并观察写入该文档的值。该值将是一个有效的时间戳。


Loï*_*kam 5

如果serverTimeStamp您的文档中有 as 字段,您可以将其转换为DateTime如下;

final DateTime dateTimeFromServerTimeStamp =
 (documentSnapshot.data()['serverTimeStamp'] as Timestamp).toDate();
Run Code Online (Sandbox Code Playgroud)