Python 如何将时间间隔分割为大小均匀的块?
我需要每隔几分钟将时间间隔分割成大小均匀的块。例如,从现在到1小时前的12段时间,每段5分钟。如何在Python 3中实现这一点?dateutil.rrule可能是实现这一点的最简单的长期方法,尽管API有点复杂:Python 如何将时间间隔分割为大小均匀的块?,python,python-3.x,time,Python,Python 3.x,Time,我需要每隔几分钟将时间间隔分割成大小均匀的块。例如,从现在到1小时前的12段时间,每段5分钟。如何在Python 3中实现这一点?dateutil.rrule可能是实现这一点的最简单的长期方法,尽管API有点复杂: rrule(dtstart=datetime.now()-timedelta(小时=1),until=datetime.now(),freq=MINUTELY,interval=5) 或者,您可以很容易地手工完成这项工作,只需获取开始和停止日期时间,并按适当的时间增量开始,直到超过
rrule(dtstart=datetime.now()-timedelta(小时=1),until=datetime.now(),freq=MINUTELY,interval=5)
或者,您可以很容易地手工完成这项工作,只需获取开始和停止日期时间,并按适当的时间增量开始,直到超过结束界限。如果您想要特定数量的块而不是特定的块长度,请计算开始和结束之间的差值,然后除以您的数字
出现次数=[]
end=datetime.now()
st=datetime.now()-timedelta(小时=1)
而st
两者都比直接处理时间戳慢。您可以在datetime模块中使用timedelta
from datetime import datetime
from datetime import timedelta
start = datetime.now()
end = datetime(2019, 3, 19, 18, 00, 00)
while start < end:
print(start)
start += timedelta(minutes=5) # add 5 minutes to start time
从日期时间导入日期时间
从日期时间导入时间增量
start=datetime.now()
结束=日期时间(2019,3,19,18,00,00)
开始<结束时:
打印(开始)
开始+=时间增量(分钟=5)#开始时间加上5分钟
到目前为止,您尝试的是什么?听起来像是可以用除法和模运算来完成的。e、 G.tmin/tchunk,tmin%tchunkIn数值表示我可以得到两次的差值,然后除以块的数量。之后,只需将差异作为序列添加到初始时间。但我认为这是没有效率的。