Загрузить файлы в «/»
This commit is contained in:
commit
96e06b922f
38
last_friday_datetime.py
Normal file
38
last_friday_datetime.py
Normal file
@ -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
|
||||
Loading…
Reference in New Issue
Block a user