我有这样的代码:
import time
from datetime import date
startyear = raw_input("start year: ")
startmonth = raw_input("start month: ")
startday = raw_input("start day: ")
endyear = raw_input("end year: ")
endmonth = raw_input("end month: ")
endday = raw_input("end day: ")
startdate = date(int(startyear), int(startmonth), int(startday))
while startdate < date(int(endyear), int(endmonth), int(endday)):
print startdate
startdate = startdate.replace(day=startdate.day + 1)
这段代码的作用是:
1.通过手动输入
获取开始和结束日期 2.生成它们之间的日期列表
但问题是,如果我设置日期,例如,
startdate: 2012-10-28
enddate: 2012-11-4
输出将是:
2012-10-28
2012-10-29
2012-10-30
2012-10-31
ValueError: day is out of range for month
我希望输出如下:
2012-10-28
2012-10-29
2012-10-30
2012-10-31
2012-11-01
2012-11-02
2012-11-03
2012-11-04
所以我希望日期通过月份。有什么建议么?任何帮助都会非常棒。