假设我有一段时间,例如 10 分钟。 我定义了开始时间和结束时间。
例如,开始时间为上午 10 点,结束时间为下午 2 点。
我需要的时间间隔
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)
这对于两个已知的间隔来说是可以的。两个未知区间并将它们存储在数据库中怎么样?
我该如何解决这个问题?谢谢。
最佳答案
只需将持续时间、开始和结束时间存储在数据库中。您以后随时可以生成时间间隔:
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
关于python - 系列中两个时间间隔之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11265670/