Python - 날짜가 무슨 요일인지 계산

어떤 날짜가 무슨 요일인지 확인하는 방법을 소개합니다.

1. date, datetime의 weekday()를 이용하여 요일 계산 (1)

date와 datetime은 weekday() 함수를 지원하며, 날짜의 요일 정보를 0 ~ 6 범위의 숫자로 리턴합니다.

weekday()의 리턴 값이 의미하는 요일은 다음과 같습니다.

  • 월요일 : 0
  • 화요일 : 1
  • 수요일 : 2
  • 목요일 : 3
  • 금요일 : 4
  • 토요일 : 5
  • 일요일 : 6

아래는 weekday()를 이용하여 date 또는 datetime의 요일을 출력하는 예제입니다. 0 ~ 6의 숫자를 월요일에서 일요일으로 매핑하여 출력합니다.

from datetime import datetime, date


def what_day_is_it(date):
    days = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
    day = date.weekday()
    print(days[day])


what_day_is_it(date(2022, 3, 21))
what_day_is_it(date(2022, 3, 22))
what_day_is_it(date(2022, 3, 23))
what_day_is_it(date(2022, 3, 24))
what_day_is_it(date(2022, 3, 25))
what_day_is_it(date(2022, 3, 26))
what_day_is_it(datetime(2022, 3, 27))

Output:

Mon
Tue
Wed
Thu
Fri
Sat
Sun

2. date, datetime의 weekday()를 이용하여 요일 계산 (2)

today()는 오늘 날짜에 대한 date, datetime 객체를 리턴하며, 위의 예제와 같이 오늘 날짜에 대한 요일을 계산할 수 있습니다.

from datetime import datetime, date


def what_day_is_it(date):
    days = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
    day = date.weekday()
    print(days[day])


print(date.today())
print(datetime.today())
what_day_is_it(date.today())
what_day_is_it(datetime.today())

Output:

2022-03-26
2022-03-26 11:39:32.662598
Sat
Sat

3. localtime의 tm_wday로 요일 계산

time.localtime()으로 리턴된 객체는 tm_wday 정보를 갖고 있으며, 이 값은 요일 정보를 0 ~ 6의 숫자로 변환된 값을 갖고 있습니다. 숫자의 의미는 weekday()의 리턴 값과 동일하며 아래와 같이 요일 정보를 출력하는 예제를 구현할 수 있습니다.

import time


def what_day_is_it(time):
    days = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
    day = time.tm_wday
    print(days[day])


print(time.localtime())
what_day_is_it(time.localtime())

Output:

time.struct_time(tm_year=2022, tm_mon=3, tm_mday=26, tm_hour=11, tm_min=37, tm_sec=53, tm_wday=5, tm_yday=85, tm_isdst=0)
Sat
Loading script...
codechachaCopyright ©2019 codechacha