使用Python内置datetime模块遍历指定年份区间的所有日期

要使用Python内置库实现遍历两个指定年份之间的所有日期,您可以不依赖于第三方库dateutil,而是直接使用datetime模块提供的功能。下面是一个使用datetime模块实现这一需求的示例:

from datetime import datetime, timedelta

def iterate_dates(start_year, end_year):
    start_date = datetime(start_year, 1, 1)  # 第一年的1月1日
    end_date = datetime(end_year + 1, 1, 1)  # 下一年的1月1日,作为结束边界(不包含)

    current_date = start_date
    while current_date < end_date:
        yield current_date.date()  # 返回当前日期的date对象
        current_date += timedelta(days=1)  # 移动到下一天

# 示例:遍历2024年到2025年间的所有日期
for date in iterate_dates(2024, 2025):
    print(date)

在这个实现中:

  1. 我们首先定义了一个名为iterate_dates的函数,接受两个参数start_year和end_year,分别表示要遍历的起始年份和结束年份。
  2. 使用datetime构造函数创建起始日期(指定年份的1月1日)和结束日期(结束年份下一年的1月1日,作为不包含的边界)。
  3. 在一个while循环中,我们初始化current_date为起始日期,并在每次循环中产出当前日期的date对象。
  4. 使用timedelta增加一天来更新current_date,直到达到或超过结束日期为止。

通过调用iterate_dates(2024, 2025)并遍历返回的生成器,您可以获取到2024年至2025年间的所有日期。这种方法完全基于Python的内置datetime模块,无需额外安装其他库。


存档地址:https://www.yuque.com/worthstudy/study/qzl6f0w7dgmgv6el?singleDoc# 《Python如何只用内置库实现遍历两个指定年份指定所有日期?》

© 版权声明
THE END
喜欢就点赞支持一下吧,如果觉得不错或日后有所需要,可以收藏文章和关注作者哦。
点赞0打赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容