当前位置: 首页 > 知识库问答 >
问题:

如何根据开始和结束日期时间筛选flutter中包含时间戳的对象的Firebase列表?

墨财
2023-03-14
Example of a snapshot

[{capture_date: Timestamp(seconds=1622809815, nanoseconds=371267000), 
image_path: firebasestoragepath, latitude: 11.3526445, 
id: 1SjdRL9VREdfcddsdl, field_name: NameofField, longitude: 75.892257},
{capture_date: Timestamp(seconds=1622829894, nanoseconds=221161000), 
image_path: firebasestoragepath, latitude: 11.3523268, 
id: 3ChWo7asdefuy0c7, longitude: 75.8921225, field_name: MyField}]

print(from) 
2020-06-01 00:00:00.000
print(end)
2020-06-05 00:00:00.000

过滤快照的函数是,

  _getSelectedSnaps(from, to) {
    DateTime startDate = from;
    DateTime endDate = end;
    List<DateTime> filteredSnapshot = [];
    
    for(int i = 0; i < snapshot; i++){
      //Here I want to filter based on from, end DateTime and firebase Timestamp

      //Push the map which passes between condition
    }
  }

提前感谢!

共有1个答案

司马宏茂
2023-03-14

使用它将时间戳转换为日期

datetime.fromMilliseCondsSinceEpoch(时间戳*1000);

之后,使用这个方法isBefore()和isAfter()进行筛选。

 类似资料:
  • 问题内容: 目前我有这样的桌子 如您所见,具有给定时间戳记的设备中会有一些值(列类型为datetime)。 问题在于该设备可以在任何时候启动和停止,并且数据中没有直接信息表明已发生启动或停止。但是从给定的时间戳列表中,很容易知道何时开始和停止发生,因为每两行的时间戳在五秒钟之内都属于同一度量。 现在,我想从此数据中获得像这样的列表: 那么有什么想法可以快速地做到这一点?我所能想到的就是使用某种游标

  • 我在火炉里有时间戳项目。我从省道代码时间戳类型中获取项。它就像是'timestamp(seconds=1590903768,nanoseconds=26999000)'一样。

  • 我正在为我的聊天应用程序使用firebase。在聊天对象中,我使用方法添加时间戳。 请就这个问题提出解决办法

  • 但问题是我无法将数据从Firebase转换为Local。save方法将转换为Timestamp fine。 任何解决办法。

  • 我想在日期时间选择器中选择大于开始日期的结束日期时间。 当前,我正在开始日期时间和结束日期时间。 假设,我选择了时间为12:00 pm的当前日期,现在end date应该是时间为1:00 pm的当前日期。 我想要下面这样的东西 示例 开始日期和时间:---2019-11-06 12:00结束日期和时间:---2019-11-06 1:00 这是我的代码 null null

  • 我想展示在今天,或上周创建的帖子。我怎么能这么做。 这是我的查询