Flutter Firebase时间戳

问题描述 投票:0回答:1

我想展示在今天或上周创建的帖子。我怎样才能做到这一点。

这是我的Firebase数据enter image description here

这是我的查询

Future<List<Post>> getAllPost(Post lastFetched, int fetchLimit) async {
List<Post> _postList = [];
if (lastFetched == null) {
  _querySnapshot = await Firestore.instance
      .collection("posts")
      .orderBy("liked", descending: true)
      .limit(fetchLimit)
      .getDocuments();
} else {
  _querySnapshot = await Firestore.instance
      .collection("posts")
      .orderBy("liked", descending: true)
      .startAfterDocument(lastDocument)
      .limit(fetchLimit)
      .getDocuments();
}
if (_querySnapshot.documents.length != 0) {
  lastDocument =
      _querySnapshot.documents[_querySnapshot.documents.length - 1];
}

for (DocumentSnapshot documentSnapshot in _querySnapshot.documents) {
  Post tekPost = Post.fromMap(documentSnapshot.data);
  _postList.add(tekPost);
}
return _postList;

}

firebase flutter dart google-cloud-firestore
1个回答
0
投票

有一个库调用timeago

用于创建模糊时间戳。 (例如“ 5分钟前”)

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

main() {
   final fifteenAgo = new DateTime.now().subtract(new Duration(minutes: 15));

   print(timeago.format(fifteenAgo)); // 15 minutes ago
   print(timeago.format(fifteenAgo, locale: 'en_short')); // 15m
   print(timeago.format(fifteenAgo, locale: 'es')); // hace 15 minutos
}
© www.soinside.com 2019 - 2024. All rights reserved.