我有10-02-2016
格式的两个日期16-02-2016
和dd-mm-yyyy
,我想要这些日期之间的日期列表,而不包括开始日期和结束日期。
预期输出:
11-02-2016
12-02-2016
13-02-2016
14-02-2016
15-02-2016
我有以下代码段:
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))
哪个输出为:
10-02-2016
11-02-2016
12-02-2016
13-02-2016
14-02-2016
15-02-2016
有人有什么建议吗?
谢谢。
答案 0 :(得分:2)
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))
答案 1 :(得分:1)
具有列表理解功能的选项,在您需要的地方切片:
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