擅长:python、mysql、java
<p>基本上,您需要确定从当前日期到未来日期的每个月的天数。我认为这是一个非常直截了当的方法:</p>
<pre><code>import calendar
import datetime
def days_per_month_until_end_date(end_year, end_month, end_day):
today = datetime.datetime.today()
future_date = datetime.datetime(end_year, end_month, end_day)
result = []
for year in range(today.year, future_date.year+1):
start_month = today.month if year == today.year else 1
end_month = future_date.month if year == future_date.year else 12
for month in range(start_month, end_month+1):
dim = calendar.monthlen(year, month) # Days In Month
result.append(dim)
return result
print(days_per_month_until_end_date(2022, 12, 31))
</code></pre>
<p>2019-09-16运行结果(结束日期如图所示):</p>
<pre class="lang-none prettyprint-override"><code>[30, 31, 30, 31, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
</code></pre>