简体   繁体   English

如何使用python查找两个日期之间的日期(开始日期和结束日期除外)

[英]How to find dates between two dates excluding start and end date using python

I have two dates 10-02-2016 and 16-02-2016 in dd-mm-yyyy format, I want the list of dates between those dates without including start and end date. 我有两个日期为10-02-201616-02-2016dd-mm-yyyy格式,我希望这些日期之间的日期列表不包括开始日期和结束日期。

Expected output: 预期产量:

11-02-2016
12-02-2016
13-02-2016
14-02-2016
15-02-2016

I have the following code snippet: 我有以下代码片段:

import datetime

date1 = datetime.datetime.strptime('10-02-2016', '%d-%m-%Y').date()
date2 = datetime.datetime.strptime('16-02-2016', '%d-%m-%Y').date()

delta = date2 - date1
for i in range(delta.days):
    print(date1 + datetime.timedelta(i))

Which gives output as: 输出为:

10-02-2016
11-02-2016
12-02-2016
13-02-2016
14-02-2016
15-02-2016

Does anyone have any suggestions? 有没有人有什么建议?

Thanks. 谢谢。

import datetime

date1 = datetime.datetime.strptime('10-02-2016', '%d-%m-%Y').date()
date2 = datetime.datetime.strptime('16-02-2016', '%d-%m-%Y').date()

delta = date2 - date1
for i in range(1,delta.days):
    print(date1 + datetime.timedelta(i))

Option with list comprehension, slice where you need: 具有列表理解功能的选项,在您需要的地方切片:

list_of_dates = [ date1 + datetime.timedelta(i) for i in range((date2 - date1).days + 1) ]

for date in list_of_dates[1:-1]:
  print(date)

# 2016-02-11
# 2016-02-12
# 2016-02-13
# 2016-02-14
# 2016-02-15

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM