假设我有一段时间,例如10分钟。 我定义了开始时间和结束时间。
例如,开始时间是10 A.M,结束时间是2 P.M。我需要时间间隔
10-10.10 , 10.10 - 10.20 , .. , 10.50-11 etc.,
存储在数据库中。
以下是我的想法。
from datetime import datetime
time1 = '10:00'
time2 = '10.10'
format = '%H:%M'
obj1 = datetime.strptime(time1, format) - datetime.strptime(time2, format)
这对于两个已知的间隔是可以的。两个未知的时间间隔是什么,并将它们存储在数据库中?
我该如何解决这个问题?感谢。
答案 0 :(得分:2)
只需在数据库中存储持续时间,开始和结束时间。您可以随时生成时间间隔:
def time_range(start, end, duration):
dt = start
while dt < end: #note: `end` is not included in the range
yield dt
dt += duration
from datetime import datetime, timedelta
# dummy data
duration = timedelta(minutes=10)
start = datetime.utcnow()
end = start + timedelta(hours=16)
# use list instead of tee(), islice() for simplicity
lst = [dt.strftime('%H:%M') for dt in time_range(start, end, duration)]
for interval in zip(lst, lst[1:]):
print "%s-%s," % interval,
print