Python时间过滤器不起作用

时间:2015-03-11 20:16:35

标签: python time filter gis

我有一个用于制作GIS地图的脚本。使用“elif”语句按时间过滤映射的事件以过滤事件数据:

    elif iHours == 8:
        if x == 0:
            stTime = "00:00:00"
            endTime = "23:59:59"
        elif x == 1:
            stTime = "07:00:00"
            endTime = "14:59:59"
        elif x == 2:
            stTime = "15:00:00"
            endTime = "22:59:59"
        elif x == 3:
            stTime = "23:00:00"
            endTime = "06:59:59"

0到2工作正常,但脚本在3(23:00:00 - 06:59:59)上不起作用。这是我用来过滤数据的IF语句。

    "' AND \"Time\" >=  '" +  stTime + "' AND \"Time\" <= '" + endTime + "'"

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

首先,一些一般提示:

  • 如果您使用SQL,请尝试使用体面的ORM,可能是SQLAlchemy。这将为您节省大量时间和麻烦。
  • 清洁过滤器为... AND (Time >= 07:00:00 AND Time < 15:00:00),而不是:59:59黑客。

对于解决方案:案例#3的过滤器应使用OR,因为时间不能同时在23:00之后和07:00之前:

... AND (Time < 07:00:00 OR Time >= 23:00:00)