美文网首页
Python代码阅读(第77篇):生成指定日期之间的日期列表

Python代码阅读(第77篇):生成指定日期之间的日期列表

作者: FelixZzzz | 来源:发表于2021-11-11 21:40 被阅读0次

    Python 代码阅读合集介绍:为什么不推荐Python初学者直接看项目源码

    本篇阅读的代码在日期类型上实现了类似range的功能,生成一个在两个指定日期之间的日期列表。

    本篇阅读的代码片段来自于30-seconds-of-python

    daterange

    from datetime import timedelta, date
    
    def daterange(start, end):
      return [start + timedelta(n) for n in range(int((end - start).days))]
    
    # EXAMPLES
    from datetime import date
    
    daterange(date(2020, 10, 1), date(2020, 10, 5)) 
    # [date(2020, 10, 1), date(2020, 10, 2), date(2020, 10, 3), date(2020, 10, 4)]
    

    daterange函数接收一个开始日期和一个终止日期,返回这两个日期之间的日期列表,包括开始日期,不包括终止日期。

    函数使用datetime模块里的类型和方法对日期进行处理。

    1. 首先将两个date类型的日期相减,得到timedelta类型的日期差值timedelta = date1 - date2
    2. 然后通过timedeltadays属性获取相差的天数。
    3. 将天数差值转换为int数据后,通过range函数生成一个从零开始的可迭代对象,并用for语句进行访问。
    4. 最后使用date2 = date1 + timedelta的运算形式,通过对开始日期加上相差日期,计算中间的日期。最后形成一个date类型的列表。

    具体datetime模块的内容和相关的计算规则可以查看Python官方文档

    相关文章

      网友评论

          本文标题:Python代码阅读(第77篇):生成指定日期之间的日期列表

          本文链接:https://www.haomeiwen.com/subject/tewqzltx.html