Using datetime
only.
>>> d = datetime.date.today()
一周的最后一天:
# This was wrong earlier.
>>> d + datetime.timedelta(days=5 - d.weekday())
datetime.date(2015, 8, 15)
每月最后一天:
>>> datetime.date(year=(d.year + int(d.month % 12 == 0)), month=(d.month + 1) % 12, day=1) - datetime.timedelta(days=1)
datetime.date(2015, 8, 31)
季度最后一天:
>>> datetime.date(year=d.year, month=((d.month % 3) + 1) * 3 + 1, day=1) - datetime.timedelta(days=1)
datetime.date(2015, 9, 30)
一年的最后一天:
>>> datetime.date(year=d.year, month=12, day=31)
datetime.date(2015, 12, 31)
编辑:这一切都非常丑陋,使用更高级别的第三方库可能是最好的,除非有令人信服的理由不这样做(并且这里似乎没有)。