fllutter:firebase fieldvalue.servertimestamp()to dateTime对象

问题描述 投票:0回答:5
我找不到将此时间戳转换为flutter中的对象的方法。有什么办法吗?或使用firebase的任何其他API调用?

DateTime

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

您能做的就是到服务器上的文档,并观察到该文档的值。该值将是有效的时间戳。

firebase flutter dart google-cloud-firestore
5个回答
19
投票
如果您在文档中有

FieldValue.serverTimestamp()

字段,则可以将其转换为
FieldValue.serverTimestamp()
FieldValue.serverTimestamp()

;

; serverTimeStamp

    


5
投票

DateTime

    
ok,这在

mycase
作为解决方法中起作用。我正在使用json_annotation,json_serilaizable,build_runner.
这些是库版本:

1
投票
json_serializable: ^5.0.2

BUILD_RUNNER: ^2.1.2
json_annotation: ^4.1.0

1
投票
final DateTime dateTimeFromServerTimeStamp = (documentSnapshot.data()['serverTimeStamp'] as Timestamp).toDate();

我希望这很有用。

要有效地管理DART类中的服务器时间戳,请考虑以下实现为例如:

DateTime timestamp = DateTime.parse( json['ts'].toString() );

解释:

默认构造函数:

requeSttaken({require this.requestid,需要this.takenat}):用特定的时间戳初始化对象。 named构造函数:

requeStTaken.takenatServertime({require this.requestid}):

0
投票

TOMAP()
方法:将对象转换为适合Firestore存储的MAP

IT使用TakeAtserVertimestamp(如果有);否则,它将返回到本地takeat值。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.