
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模块里的类型和方法对日期进行处理。
- 第一将两个
date类型的日期相减,得到timedelta类型的日期差值timedelta = date1 - date2。 - 然后通过
timedelta的days属性获取相差的天数。 - 将天数差值转换为
int数据后,通过range函数生成一个从零开始的可迭代对象,并用for语句进行访问。 - 最后使用
date2 = date1 + timedelta的运算形式,通过对开始日期加上相差日期,计算中间的日期。最后形成一个date类型的列表。
具体datetime模块的内容和相关的计算规则可以查看Python的官方文档。
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END















- 最新
- 最热
只看作者