4

Как узнать в python когда заканчивается месяц?

Sasha
  • 89

2 Answers2

5
>>> import calendar
>>> calendar.monthrange(2018, 7)
(6, 31)

6 - День недели первого дня, воскресенье
31 - Число дней в месяце

vp_arth
  • 27,179
2

Вот еще несколько вариантов из аналогичного вопроса на англоязычном SO:

варант 1:

import datetime

def last_day_of_month(any_day):
    next_month = any_day.replace(day=28) + datetime.timedelta(days=4)  # this will never fail
    return next_month - datetime.timedelta(days=next_month.day)

варант 2:

import datetime

datetime.date (2000, 2, 1) - datetime.timedelta (days = 1)

варант 3:

def last_day_of_month(date):
    if date.month == 12:
        return date.replace(day=31)
    return date.replace(month=date.month+1, day=1) - datetime.timedelta(days=1)
MaxU - stand with Ukraine
  • 149,321
  • 12
  • 59
  • 132