【问题标题】:Flutter filter arrays which come between 2 days2天之间的颤振过滤器阵列
【发布时间】:2021-06-03 12:08:53
【问题描述】:

我有 2 个数据列表。从第一个列表中,我可以找到我的 2 个日期和时间。

第一个数据列表如下所示

"data1": [
        {

            "tripType": "active",
            "dateStart": "2021-05-31T03:02:38.000Z",
            "dateEnd": "2021-05-31T03:51:33.000Z",
            "start": {
                "lon": 66.975478,
                "lat": 24.949758,
            },
            "end": {
                "lon": 67.036706,
                "lat": 24.827635,
            }
         }];

在第二个列表中,我有多个包含日期和时间的数组。我想过滤此列表并仅显示日期和时间介于我的第一个数据开始时间和结束时间之间的那些数组。

我的第二个列表是这样的

"data2": [
    {
        "id": "3cec02d7-4938-418a-bcdd-c6043154a966",
        "eventDate": "2021-06-01T15:54:01.000Z",
        "creationDate": "2021-06-01T15:54:06.000Z",
        "modifiedDate": "2021-06-01T15:54:06.000Z",
        "eventClass": "overspeedevent",
        "eventType": "start",

    },
    {
        "id": "3cec02d7-4938-418a-bcdd-c6043154a966",
        "eventDate": "2021-07-01T13:54:01.000Z",
        "creationDate": "2021-06-01T13:54:06.000Z",
        "modifiedDate": "2021-06-01T13:54:06.000Z",
        "eventClass": "overspeedevent",
        "eventType": "end",

    },
    {
        "id": "3cec02d7-4938-418a-bcdd-c6043154a966",
        "eventDate": "2021-06-01T15:54:01.000Z",
        "creationDate": "2021-06-01T15:54:06.000Z",
        "modifiedDate": "2021-06-01T15:54:06.000Z",
        "eventClass": "overspeedevent",
        "eventType": "start",

    }];
    

您可以在 data1 中看到我有 dateStartdateEnd 我需要在 data2 中的这些日期之间找到 data2 我有 eventDate 我需要显示或过滤这个数组并只显示那些数组eventDate 介于 dateStartdateEnd 之间

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    您可以遍历 data2 并在将其转换为日期后使用 date 的 compareTo 方法检查日期

     var startDate = DateTime.parse(data1[0]["dateStart"].toString());
     var endDate = DateTime.parse(data1[0]["dateEnd"].toString());
     for(var item in data2){
       var itemDate = DateTime.parse(item["eventDate"].toString());
    
       if(itemDate.compareTo(startDate) > 0 && itemDate.compareTo(endDate) < 0) {
         print(item["id"]);
       }
     }
    

    【讨论】:

      猜你喜欢
      • 2020-04-23
      • 2023-03-22
      • 2020-12-29
      • 2020-05-04
      • 1970-01-01
      • 2019-05-05
      • 1970-01-01
      • 1970-01-01
      • 2021-06-06
      相关资源
      最近更新 更多