import datetime from datetime import timedelta, timezone def get_sunday(date): return date - datetime.timedelta(days=date.weekday()) + timedelta(days=6) def get_last_sunday_dates(number, include_current_week=True): now_utc = datetime.datetime.now(timezone.utc) today = datetime.datetime(now_utc.year, now_utc.month, now_utc.day) if include_current_week: days_to_last_sunday = (6 - today.weekday()) % 7 last_sunday = today + datetime.timedelta(days=days_to_last_sunday) else: days_to_last_sunday = (today.weekday() - 6) % 7 last_sunday = today - datetime.timedelta(days=days_to_last_sunday) last_n_sundays = [] for i in range(number): sunday = last_sunday - datetime.timedelta(days=i * 7) last_n_sundays.append(sunday.date()) return last_n_sundays