Python узнать день недели по дате
Как(или фрагмент кода), что бы по дате узнать какой день недели был! например сегодня 15.01.2023 - Воскресенье, 15.01.2009 - какой день недели.
Как(или фрагмент кода), что бы по дате узнать какой день недели был! например сегодня 15.01.2023 - Воскресенье, 15.01.2009 - какой день недели.
def get_weekday(user_date):
user_date = datetime.strptime(user_date, "%y-%m-%d %H:%M")
weekday_num = datetime.isoweekday(user_date)
weekdays = {1: 'ПН',
2: 'ВТ',
3: 'СР',
4: 'ЧТ',
5: 'ПТ',
6: 'СБ',
7: 'ВС'}
return weekdays.get(weekday_num)
Вы можете использовать класс datetime
из стандартного модуля datetime
:
from datetime import datetime
day = datetime.strptime("15.01.2009", "%d.%m.%Y")
day_of_weeek = day.weekday()
В результате вы получите в переменной day_of_weeek
номер дня в недели, начиная с нуля:
0
- понедельник, 1
- вторник, ..., 6
- воскресение.
Объяснение:
Класс datetime
содержит метод .strptime()
, который переводит дату в форме строки в объект типа datetime
.
Когда вы уже имеете вашу дату в виде объекта типа datetime
(в переменной day
), вы получите удобство использовать различные методы этого класса, в вашем случае метод weekday()
.
Второй параметр метода .strptime()
- в нашем случае "%d.%m.%Y"
- означает, что наша строка с датой ("15.01.2009"
) в формате
%d
), двузначный,.
),%m
), двузначный,.
),%Y
), четырёхзначный.