from datetime import datetime, timedelta, timezone def nextMonday(): """ I think this function doesnt work when the day is monday itself. Returns: _type_: _description_ """ now = datetime.now(timezone.utc) days_until_monday = (0 - now.weekday() + 7) % 7 monday = now + timedelta(days=days_until_monday) monday_9am = monday.replace(hour=9, minute=0, second=0, microsecond=0, tzinfo=timezone.utc) return monday_9am if __name__ == '__main__': print(nextMonday())