From 96e06b922ff6ca1273cd153ebf4df325176fd131 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=93=D0=BB=D0=B8=D0=BD=D1=81=D0=BA=D0=B8=D0=B9?= Date: Wed, 21 Jan 2026 00:30:33 +0000 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20=C2=AB?= =?UTF-8?q?/=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- last_friday_datetime.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 last_friday_datetime.py diff --git a/last_friday_datetime.py b/last_friday_datetime.py new file mode 100644 index 0000000..64e5034 --- /dev/null +++ b/last_friday_datetime.py @@ -0,0 +1,38 @@ +# last_friday_datetime.py + +from datetime import datetime, timedelta +import calendar + +def get_last_friday(month_year: str) -> str: + """ + Функция возвращает дату последней пятницы указанного месяца. + + Параметры: + month_year : str + Строка с месяцем и годом в формате "MM/YYYY" + + Возвращает: + str + Дата последней пятницы в формате "DD.MM.YYYY" + """ + # Преобразуем вход в числа + month, year = map(int, month_year.split("/")) + + # Определяем последний день месяца + last_day = calendar.monthrange(year, month)[1] + + # Создаём объект datetime для последнего дня месяца + date = datetime(year, month, last_day) + + # Вычисляем разницу до пятницы (weekday() → понедельник=0, пятница=4) + days_back = (date.weekday() - 4) % 7 + last_friday = date - timedelta(days=days_back) + + # Форматируем в строку + return last_friday.strftime("%d.%m.%Y") + + +# Пример использования +if __name__ == "__main__": + example_input = "05/2022" + print(get_last_friday(example_input)) # Вывод: 27.05.2022