我想要獲得給定範圍內的月份列表。具體來說,給定的範圍2015-12-31 - 2016-01-01
,我想獲得列表2015-12
和2016-01
。如何創建日期範圍,直到包含python dateutils的日期?
我使用的是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月相同的輸出,以及任何一天結束一月。也就是說,我只關心月份爲2015-12
和2016-01
的事實。這一天對我來說並不重要,但我只希望每個月只有一個datetime
(這些輸入的最大值爲2,對於day
組件的值爲最大值)。
是否有一個簡單的解決方案,或者我將不得不增加每日和建立自己的一套月?
很好的回答。雖然,不是'[dt for rrule(...)]'有點冗長'list(rrule(...))'就足夠了。 – AChampion