Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将时间间隔分割为大小均匀的块?_Python_Python 3.x_Time - Fatal编程技术网

Python 如何将时间间隔分割为大小均匀的块?

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) 或者,您可以很容易地手工完成这项工作,只需获取开始和停止日期时间,并按适当的时间增量开始,直到超过

我需要每隔几分钟将时间间隔分割成大小均匀的块。例如,从现在到1小时前的12段时间,每段5分钟。如何在Python 3中实现这一点?

dateutil.rrule可能是实现这一点的最简单的长期方法,尽管API有点复杂:

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数值表示我可以得到两次的差值,然后除以块的数量。之后,只需将差异作为序列添加到初始时间。但我认为这是没有效率的。