【发布时间】:2016-01-22 14:29:14
【问题描述】:
我正在尝试获取给定范围内的月份列表。具体来说,给定2015-12-31 - 2016-01-01的范围,我想得到2015-12和2016-01的列表。
我正在使用 dateutil 的 rrule,但 until 参数并没有真正帮助,因为它似乎正在寻找完整的月份。
例如:
from dateutil.relativedelta import relativedelta
from dateutil.rrule import rrule, MONTHLY
list(rrule(MONTHLY, dtstart=datetime(2015, 12, 31), until=datetime(2016,01,01)))
这只会返回[datetime.datetime(2015, 12, 31, 0, 0)],而不是[datetime.datetime(2015, 12, 31, 0, 0), datetime.datetime(2016, 01, 01, 0, 0)]
同样,我希望 12 月的任何开始日和 1 月的任何结束日都具有相同的输出。也就是说,我只关心月份是2015-12 和2016-01。白天部分对我来说并不重要,但我每月只需要一个 datetime(这些输入最多 2 个,day 组件的值可以是任意值)。
是否有一个简单的解决方案,还是我必须每天增加并建立自己的月份?
【问题讨论】:
标签: python date datetime python-dateutil