Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中两个日期之间的月份列表_Python_Date - Fatal编程技术网

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
对象的可能副本只能生成一个日期时间。你还期望什么?只有在这种情况下我有这个错误,在其他情况下它工作正常