擅长:python、mysql、java
<p>这应该行得通。<code>add_months</code>函数通过<a href="https://stackoverflow.com/a/4131114/9209546">How to increment datetime by custom months in python without using library</a>中的@davewbb。在</p>
<pre><code>import datetime
import calendar
start_date = '2018-02-02'
def add_months(sourcedate, months):
month = sourcedate.month - 1 + months
year = sourcedate.year + month // 12
month = month % 12 + 1
day = min(sourcedate.day, calendar.monthrange(year, month)[1])
return datetime.date(year, month, day)
def range_of_months(sourcedate, months):
return [add_months(sourcedate, m) for m in range(months+1)]
start = datetime.date.today()
range_of_months(start, 5)
# [datetime.date(2018, 2, 2),
# datetime.date(2018, 3, 2),
# datetime.date(2018, 4, 2),
# datetime.date(2018, 5, 2),
# datetime.date(2018, 6, 2),
# datetime.date(2018, 7, 2)]
</code></pre>