繁体   English   中英

获取日期范围内的数据

[英]fetch data for a date period

[
  {
    start_time: "09:00",
    end_date: "2015-12-20",
    end_time: "13:55",
    start_date: "2015-12-15"
  },
  {
    start_time: "06:07",
    end_date: "2015-12-24",
    end_time: "08:09",
    start_date: "2015-12-22"
  },
  {
    start_time: "09:30",
    end_date: "2015-12-01",
    end_time: "18:00",
    start_date: "2015-12-01"
  },
  {
    start_time: "01:00",
    end_date: null,
    end_time: "04:00",
    start_date: null,

  },
  {
    start_time: "05:00",
    end_date: null,
    end_time: "08:00",
    start_date: null,

  }
]

我有上面的数据。 我将传递开始日期和结束日期,它必须产生日期之间的数据,如果日期不存在,则必须插入空数据(开始日期和结束日期为null的字典)。 下面列出了日期范围为“ 2015-12-02”,“ 2015-12-16”之间的示例。 结果必须如下所示。

[
  {
    start_time: "01:00",
    end_date: null,
    end_time: "04:00",
    start_date: null,

  },
  {
    start_time: "05:00",
    end_date: null,
    end_time: "08:00",
    start_date: null,

  },

  {
    start_time: "09:00",
    end_date: "2015-12-20",
    end_time: "13:55",
    start_date: "2015-12-15"
  },
  {
    start_time: "01:00",
    end_date: null,
    end_time: "04:00",
    start_date: null,

  },
  {
    start_time: "05:00",
    end_date: null,
    end_time: "08:00",
    start_date: null,

  },
  {
    start_time: "06:07",
    end_date: "2015-12-24",
    end_time: "08:09",
    start_date: "2015-12-22"
  }
]

有人可以帮我吗?

基本上,您应该能够在字符串之间进行比较(比较功能是日期比较)。 所以我首先将其转换为日期-

import time
start = "2015-12-02"
start_date = time.strptime(start, "%Y-%m-%d")
end = "2015-12-02"
end_date = time.strptime(end, "%Y-%m-%d")

现在,您可以> <=运算符并遍历您拥有的事件列表。 对于每个记录,请转换开始日期和结束日期,并检查它们是否满足您要查找的条件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM