python - 系列中两个时间间隔之间的差异

标签 python time

假设我有一段时间,例如 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/

相关文章:

python - Pandas Dataframe 性能与列表性能

c - 实现delay()而不使用time()

linux - 将 bash 脚本中的时间与 ± x 分钟进行比较

python - 让cProf只给出10个最耗时的任务或者按照时间倒序对它们进行排序

ruby - 如何使分钟可变两位数?

python - 如何获得确认并停止发送数据

Python 使用验证 token 向网站请求 GET 和 POST

python - 具有外部数据库的 Sqlite 更新 Hook

python - 以下两个 format() 方法有什么区别?

css - 根据 Time.now 更改 CSS