Python узнать день недели по дате
Как(или фрагмент кода), что бы по дате узнать какой день недели был! например сегодня 15.01.2023 - Воскресенье, 15.01.2009 - какой день недели.
Ответы (2 шт):
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), четырёхзначный.
- день (