优草派  >   Python

Python如何获取两个日期间所有日期?Python怎么得到两个日期间每天日期

罗西汉            来源:优草派

python程序开发过程之中对于日期数据的操作和处理需求也不少,那么在学习python时也是需要来掌握这一部分知识才可以。下面文章所要来介绍的内容就是,python获取两个日期之间所有每天日期的方法,感兴趣的小伙伴就和小编一起往下看看吧。

Python如何获取两个日期间所有日期?Python怎么得到两个日期间每天日期

1.该方法只需要使用到内置模块datetime就可以了,因为只要对日期进行操作。而这个需求的难点就在于如何给时间加上一天,并且达到足够天数时让月份也加一。那么导入模块后定义接收起始日期和结束日期两个参数的函数,示例如下:

import datetime 
def getEveryDay(begin_date,end_date):

2.在这个函数之中需要先定义空列表来保存日期,然后调用方法将传起来起始和结束时间转为年月日格式,这样格式统一之后才方便后续的操作,代码如下所示:

date_list = [] 
begin_date = datetime.datetime.strptime(begin_date, "%Y-%m-%d") 
end_date = datetime.datetime.strptime(end_date,"%Y-%m-%d")

3.之后就是去创建循环结构了,这个循环结构使用while关键字,而循环的条件是起始时间要小于结束时间。因为在循环里面会将起始时间添加到空列表之中保存,然后再通过timedelta()方法给这个起始时间加上它本身的1。而这个方法是直接对元组数据来进行操作的,这样就可以自动判断天数上限而跳转月数。

当这个起始时间等于结束时间时停止循环,将列表对象作为结果返回出去。最后再调用这个函数即可,而函数里面传入的时间和日期是任意格式都行,因为会进行格式转换,详细代码如下:

while begin_date <= end_date: 
  date_str = begin_date.strftime("%Y-%m-%d") 
  date_list.append(date_str) 
  begin_date += datetime.timedelta(days=1) 
 return date_list 
print(getEveryDay('2016-01-01','2017-05-11'))

以上就是关于“Python如何获取两个日期间所有日期?Python怎么得到两个日期间每天日期”的全部内容了,希望对你有所帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。