Python узнать день недели по дате

Рейтинг: -3Ответов: 2Опубликовано: 15.01.2023

Как(или фрагмент кода), что бы по дате узнать какой день недели был! например сегодня 15.01.2023 - Воскресенье, 15.01.2009 - какой день недели.

Ответы

▲ 0
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)
▲ -1

Вы можете использовать класс 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 - воскресение.


Объяснение:

  1. Класс datetime содержит метод .strptime(), который переводит дату в форме строки в объект типа datetime.

  2. Когда вы уже имеете вашу дату в виде объекта типа datetime (в переменной day), вы получите удобство использовать различные методы этого класса, в вашем случае метод weekday().

  3. Второй параметр метода .strptime() - в нашем случае "%d.%m.%Y" - означает, что наша строка с датой ("15.01.2009") в формате

    • день (%d), двузначный,
    • точка (.),
    • месяц (%m), двузначный,
    • точка (.),
    • год (%Y), четырёхзначный.