如何在Flutter中读取Firestore时间戳

时间:2019-05-03 15:19:30

标签: flutter timestamp

如何将Firestore时间戳更改为“ 2天前或1小时前”?我尝试直接显示它,但是输出的数据是一个像Timestamp(seconds=1556459022, nanosecond=0)这样的字符串。

该怎么做?

2 个答案:

答案 0 :(得分:3)

这就是我的解决方法。导入以下软件包:

import 'package:timeago/timeago.dart' as timeago;

现在,从Firestore获取时间戳。例如,对于字段名称“ timestamp”,请参考以下代码:

final document = Firestore.instance.collection("yourCollectionName").snapshots();

现在使用以下命令访问您的时间戳记:

`Timestamp timestamp = document['timestamp'];

最后,在应用程序中显示结果。示例:

Text(timeago.format(DateTime.tryParse(timestamp.toDate().toString())).toString());

答案 1 :(得分:0)

Firestore的时间戳记有一个toDate()方法,该方法将返回飞镖DateTime对象。

由此,您可以使用常规的飞镖解决方案,例如DateFormattimeago库,将其显示为:

timeago.format(firestoreTimestamp.toDate());