问题: 如何知道本月有多少天?本月最后一天是什么?
解决: 使用calendar
方法:
import calendar
import datetime
today = datetime.date.today()
calendar.mothrange(today.year, today.month)[1]
# 使用下月月初来判断本月天数
first_day = today.replace(day=1)
next_month = today + datetime.timedelta(days=31) # 因为月份最多31天
next_first = next_month.replace(day=1)
days = (next_first - first_day).days
拓展:
通过日期差,获取给定月的之间的天数
# 可获取二月的天数
days = (datetime.date(2017, 3, 1) - datetime.date(2017, 2, 1)).days
获取上月的天数,通过获取上月最后一天的日期来获取上月总天数
# 本月第一天
this_month_first = datetime.date(year=today.year, month=today.month, day=1)
lastMonth = this_month_first - datetime.timedelta(days=1)
参考:
http://www.th7.cn/Program/Python/201406/217866.shtml
http://www.jb51.net/article/65758.htm