Загрузить файлы в «/»
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