안녕하세요. 오늘은 파이썬으로 날짜 관련 데이터를 다룰 때 유용히 쓸 수 있는 요일 및 공휴일 반환하는 기능에 대해 알아보려고 합니다.
1. 요일 계산하기
파이썬으로 요일을 계산할 때 datetime 패키지를 import 하여 weekday() 함수를 활용하면 됩니다. weekday() 함수는 datetime 객체의 메서드로, 월요일부터 일요일까지 0부터 6까지의 정수로 표현해줘요.
예제 코드
from datetime import datetime
# 현재 날짜와 시간 가져오기
now = datetime.now()
print("오늘의 날짜: ", now.strftime("%Y-%m-%d"))
# 현재 날짜의 요일 출력하기
weekday = now.weekday()
print("오늘의 요일: ", weekday)
실행 결과
weekday() 함수는 요일을 정수로 표현해 주는데요, 직접 월요일~일요일까지의 문자열로 반환을 받고 싶다면 아래와 같이 List index를 활용한 사용자 정의 함수를 간단히 작성하여 쓸 수 있습니다.
요일 반환 함수 예제 코드
from datetime import datetime
# 요일 반환 함수 정의
def get_weekday(target_date):
weekday_list = ["월", "화", "수", "목", "금", "토", "일"]
weekday = weekday_list[target_date.weekday()]
return weekday
# 타겟 날짜 설정
date = datetime.now()
print(f"오늘의 요일: {get_weekday(date)}요일")
요일 반환 함수 실행 결과
2. 한국 공휴일 반환하기
2-1. pytimekr 패키지로 공휴일 구하기
이번에는 특정 날짜가 한국의 공휴일인지 아닌지 알 수 있는 함수를 알아보겠습니다. 먼저 pytimekr 패키지의 holidays() 함수를 사용하여 간단히 확인할 수 있어요. holidays() 함수에 year 변수값을 지정하면 해당 년도의 한국 공휴일을 반환해주고, 지정하지 않으면 올해의 공휴일을 반환해줍니다.
예제 코드
from pytimekr import pytimekr
# 올해 (2023년) 공휴일
holiday_li = pytimekr.holidays()
print(holiday_li)
# 2025년도 공휴일
holiday_2025_li = pytimekr.holidays(year = 2025)
print(holiday_2025_li)
실행 결과
2-2. workalendar 패키지로 공휴일 구하기
다음으로 workalendar 패키지를 사용하여 휴일을 구할 수 있습니다. 한국이 아니더라도 원하는 국가의 공휴일을 반환 받아 볼 수 있어요.
예제 코드
from workalendar.asia import SouthKorea
cal = SouthKorea()
holidays = cal.holidays()
for day in holidays:
print(day)
실행 결과
pytimekr를 사용했을 때와 비슷하지만 어떤 날인지 공휴일 명까지 함께 나오네요!
외국 공휴일 반환 예제 코드
우리나라 외에 외국 공휴일을 구하는 예제로 헝가리의 2025년 공휴일을 구해보겠습니다.
# 헝가리 2025년
from workalendar.europe import Hungary
cal = Hungary()
holidays = cal.holidays(year = 2025)
for day in holidays:
print(day)
실행 결과
날짜와 관련된 프로젝트를 할 때 유용히 사용할 수 있는 요일 반환, 휴일 계산에 대해 알아 보았습니다. 혹시 궁금한 점이 있으시면 언제든지 댓글 남겨주세요. 감사합니다. ❤️