序言:我有一个有一百个停车位的停车场。我将预订存储为针对指定空间的自由格式开始和结束时间。目前,我们允许人们查询停车场的具体时间,并可以很容易地告诉他们是否有空闲空间。但我现在有一个要求,那就是在5天的时间里,从7点到7点,每1小时有多少空闲空间。使用现有的查询意味着我需要执行60个查询,这对于交互来说太慢了,对于非交互来说似乎太难了
因此,我正在寻找一种方法来映射预订之间的时间,然后将其强制转换为插槽可用性,我可以单独存储。这个过程本身可能有点混乱,但它也可能使查询数据库以获取特定可用性的速度加快
我想做的是定义一天,然后“减去”当天的预订,并留下一个围绕这些预订的可用时间范围列表,然后我可以继续强制进入一小时的时段
我自己做了一半,从一个给定的时间开始,一直到第一次预订,跳到最后,然后重复,直到我到达最后一个位置,但这是非常无聊的事情,我很难相信这以前从未做过。我正在使用Python,但我很乐意移植。类似于
today = Day(start=datetime.time(7), end=datetime.time(19))
print(today.ranges)
# [(datetime.time(7), datetime.time(19))]
day.subtract(datetime.time(12), datetime.time(13))
print(today.ranges)
# [(datetime.time(7), datetime.time(12)), (datetime.time(13), datetime.time(19))]
我意识到,我可能已经进入了一个特定的阶段,这可能只会让我受益,但这种时间间隔和分割的想法正是我需要帮助的地方。有什么想法吗
如果您只想知道“在5天的时间跨度内,7-7小时的时段有多少个可用空间”,那么我的建议是:
预订,仅从整小时开始)减少计数器
每次您都可以执行一个查询来检查您有多少可用空间
你能创建所有的小时时段并删除使用过的时段吗
相关问题 更多 >
编程相关推荐