Skip to main content
 首页 » 编程设计

返回一系列时间的 Python 生成器

2025年05月04日20zhengyun_ustc

我希望这不会超出 Python 生成器的能力,但我想构建一个这样,每次调用该函数时,它都会返回下一分钟直到结束时间。

因此该函数读取开始时间和结束时间,并以分钟为单位返回时间,直到涵盖其间的所有时间。

这将如何实现?时间差

请您参考如下方法:

datetime module非常棒。您需要了解两种数据类型:datetime和 timedelta . datetime是一个时间点,而timedelta是一个时间段。基本上,我在这里要做的是一次开始一次结束(作为 datetime 对象),并逐渐增加 1 分钟。

这显然有一个警告,即您必须弄清楚如何将开始和结束时间放入 datetime 中。有多种方法可以做到这一点:通过 the constructor , right now , 来自 UTC timestamp等

import datetime 
 
def minute_range(start, end, step=1): 
   cur = start 
   while cur < end: 
      yield cur 
      cur += datetime.timedelta(minutes=step)