[python] pytz를 사용하여 특정 시간대의 모든 공휴일 가져오기
파이썬에서 pytz 라이브러리를 사용하여 특정 시간대에 해당하는 모든 공휴일을 가져오는 방법에 대해 알아보겠습니다.
1. pytz 라이브러리 설치하기
먼저, pytz 라이브러리를 설치해야 합니다. 다음 명령어를 사용하여 설치합니다.
pip install pytz
2. 특정 시간대의 공휴일 가져오는 함수 만들기
다음은 특정 시간대의 공휴일을 가져오는 함수를 정의하는 예제입니다.
import pytz
from datetime import date
from pandas.tseries.holiday import AbstractHolidayCalendar
from pandas.tseries.holiday import Holiday, USChristmas, USNewYear, USThanksgivingDay
class CustomHolidayCalendar(AbstractHolidayCalendar):
rules = [
Holiday('Custom Holiday 1', month=1, day=1),
Holiday('Custom Holiday 2', month=7, day=4),
USChristmas,
USNewYear,
USThanksgivingDay
]
def get_holidays(timezone):
holidays = CustomHolidayCalendar().holidays(date.today(), date.today() + timedelta(days=365))
holidays = holidays.tz_convert(timezone)
return holidays
위의 코드에서는 CustomHolidayCalendar
클래스를 정의하고, rules
에 공휴일을 정의합니다. 이 예제에서는 Custom Holiday 1
과 Custom Holiday 2
는 사용자 정의한 공휴일이며, USChristmas
, USNewYear
, USThanksgivingDay
는 미국의 공휴일입니다.
get_holidays
함수는 특정 시간대를 매개변수로 받아 해당 시간대에 해당하는 공휴일을 가져오는 역할을 합니다. 공휴일은 현재 날짜부터 1년 후까지의 기간 동안의 공휴일을 가져옵니다.
3. 사용 예제
위에서 정의한 함수를 사용하여 특정 시간대의 공휴일을 가져와보는 예제를 살펴보겠습니다.
import pytz
timezone = pytz.timezone('America/New_York')
holidays = get_holidays(timezone)
for holiday in holidays:
print(holiday)
위의 코드에서는 ‘America/New_York’ 시간대에 해당하는 공휴일을 가져옵니다. 가져온 공휴일은 반복문을 통해 출력됩니다.
4. 결론
pytz 라이브러리를 사용하여 특정 시간대의 공휴일을 가져오는 방법에 대해 알아보았습니다. 이를 통해 원하는 시간대에 해당하는 공휴일을 쉽게 가져와 활용할 수 있습니다.