как получить первый и последний день текущего месяца в python [дубликат]

этот вопрос уже есть ответ здесь:

Я пишу SQL-запрос, чтобы получить доступные данные между первой датой и последней датой текущего месяца в Python. Для этого как я могу получить первую и последнюю дату текущего месяца. (В вопросе, который уже запрос в stackoverflow касается только даты окончания. также я хочу, чтобы ответ в качестве поля даты, как 01-03-2016 или 31-03-2016)

1 ответов


как получить первый и последний день текущего месяца в python

есть функция в стандартной lib calendar.monthrange(year, month)

>>> import calendar
>>> calendar.monthrange(2016, 3)
(1, 31)

осторожно, monthrange не возвращает даты первого и последнего дней, но возвращает день недели первого дня месяца и количество дней в месяце для заданного года и месяца.

Итак, чтобы получить первые и последние объекты даты из это:

>>> _, num_days = calendar.monthrange(2016, 3)
>>> first_day = datetime.date(2016, 3, 1)
>>> last_day = datetime.date(2016, 3, num_days)
>>> first_day
datetime.date(2016, 3, 1)
>>> last_day
datetime.date(2016, 3, 31)

строку в формате

>>> first_day.strftime('%d-%m-%Y')
'01-03-2016'
>>> last_day.strftime('%d-%m-%Y')
'31-03-2016'