Mar-06-2019, 11:49 AM
Superb, buran! That
date(year, m_target, d_target)
is what I was looking for at the beginning of my investigations. Thanks again, and cheers# ---------- pasqua.py ---------- from datetime import date def calc_easter(year): "Returns Easter as a date object." a = year % 19 b = year // 100 c = year % 100 d = (19 * a + b - b // 4 - ((b - (b + 8) // 25 + 1) // 3) + 15) % 30 e = (32 + 2 * (b % 4) + 2 * (c // 4) - d - (c % 4)) % 7 f = d + e - 7 * ((a + 11 * d + 22 * e) // 451) + 114 month = f // 31 day = f % 31 + 1 return date(year, month, day) # ----- Years interval --------- start_interval = 1950 end_interval = 2050 # ----- Wished month/day occurrence --------- m_target= 4 # 3 or 4 d_target= 21 # 1 to 31 # for year in range(start_interval, end_interval): easter = calc_easter(year=year) if easter == date(year, m_target, d_target): print(easter.strftime('%Y-%m-%d')) # # --------- OUTPUT ------------ # C:\Training>python pasqua.py # 1957-04-21 # 2019-04-21 # 2030-04-21 # 2041-04-21 # ------------------------------