python中两个日期之间的月份列表
我使用此代码查找两个日期之间的月份:python中两个日期之间的月份列表,python,date,Python,Date,我使用此代码查找两个日期之间的月份: from dateutil.rrule import rrule, MONTHLY from datetime import datetime start_date = datetime(2017, 4, 30) end_date = datetime(2017, 5, 6) months = [dt.strftime("%m") for dt in rrule(MONTHLY, dtstart=start_date,
from dateutil.rrule import rrule, MONTHLY
from datetime import datetime
start_date = datetime(2017, 4, 30)
end_date = datetime(2017, 5, 6)
months = [dt.strftime("%m")
for dt in rrule(MONTHLY, dtstart=start_date,
until=end_date)]
In [14]: months
Out[14]: ['04']
我正期待着['04','05']
例如,如果我更改日期
from dateutil.rrule import rrule, MONTHLY
from datetime import datetime
start_date = datetime(2017, 4, 30)
end_date = datetime(2017, 5, 30)
months = [dt.strftime("%m")
for dt in rrule(MONTHLY, dtstart=start_date,
until=end_date)]
In [42]: months
Out[42]: ['04', '05']
试试这个:
from datetime import datetime
from dateutil.relativedelta import relativedelta
from dateutil.rrule import rrule, MONTHLY
start_date = datetime(2017,4,30)
end_date = datetime(2017,5,6)
oneMonth = relativedelta(months=1)
months = [dt.strftime("%m")
for dt in rrule(MONTHLY, dtstart=start_date,
until=end_date+oneMonth)]
print months
输出:
['04', '05']
从技术上讲,您的问题中的日期之间没有月。无论如何,
rrule
做什么?rrule
未指定。请提供完整的可运行示例,包括导入。由于开始日期和结束日期少于一个月,因此具有每月频率的rrule
对象的可能副本只能生成一个日期时间。你还期望什么?只有在这种情况下我有这个错误,在其他情况下它工作正常