[python] dateutil의 easter 모듈을 사용하여 부활절 날짜 계산

부활절은 매년 다른 날짜에 있는 이동성 절기입니다. Python의 dateutil 라이브러리에는 이러한 절기를 계산하는 데 사용할 수 있는 easter 모듈이 있습니다. 이 모듈을 사용하면 주어진 연도의 부활절 날짜를 쉽게 계산할 수 있습니다.

from dateutil.easter import *
from dateutil.relativedelta import relativedelta

year = 2022
easter_date = easter(year)

print(f"부활절은 {easter_date.strftime('%Y년 %m월 %d일')}입니다.")

위의 예제 코드는 dateutil.easter 모듈을 사용하여 2022년의 부활절 날짜를 계산하는 방법을 보여줍니다. easter() 함수는 주어진 연도에 해당하는 부활절 날짜를 datetime 객체로 반환합니다. 이후 strftime() 함수를 사용하여 날짜를 원하는 형식으로 변환합니다.

출력 결과는 다음과 같습니다.

부활절은 2022년 04월 17일입니다.

부활절을 계산하려는 연도를 변수 year에 설정하고, easter() 함수를 호출하여 해당 연도의 부활절 날짜를 가져옵니다. 마지막으로 strftime() 함수를 사용하여 날짜를 원하는 형식으로 변환하여 출력합니다.

부활절을 계산하려는 다른 연도에도 위의 코드를 사용할 수 있습니다. year 변수를 원하는 연도로 변경하면 해당 연도의 부활절 날짜를 계산할 수 있습니다.

또한, dateutil.relativedelta 모듈을 사용하여 부활절로부터 특정 날짜까지의 상대적인 차이를 계산할 수도 있습니다. 이를 사용하면 부활절로부터 n일 전이나 후의 날짜를 계산할 수 있습니다.

from dateutil.easter import *
from dateutil.relativedelta import relativedelta

year = 2022
easter_date = easter(year)

n_days_before_easter = 10
n_days_after_easter = 5

past_date = easter_date - relativedelta(days=n_days_before_easter)
future_date = easter_date + relativedelta(days=n_days_after_easter)

print(f"부활절로부터 {n_days_before_easter}일 전: {past_date.strftime('%Y년 %m월 %d일')}")
print(f"부활절로부터 {n_days_after_easter}일 후: {future_date.strftime('%Y년 %m월 %d일')}")

위의 예제 코드는 2022년의 부활절 날짜를 계산한 후, 부활절로부터 10일 전과 5일 후의 날짜를 계산하는 방법을 보여줍니다. relativedelta 클래스를 사용하여 날짜의 상대적인 차이를 계산하고, 이를 부활절 날짜에 적용하여 이전 또는 이후의 날짜를 계산합니다.

출력 결과는 다음과 같습니다.

부활절로부터 10일 전: 2022년 04월 07일
부활절로부터 5일 후: 2022년 04월 22일

부활절로부터 n일 전이나 후의 날짜를 계산하려면 relativedelta 클래스의 days 매개변수에 해당 값을 설정하면 됩니다.