To iterate all days in a year using Python you can use this function snippet:
from collections import namedtuple from calendar import monthrange Date = namedtuple("Date", ["year", "month", "day"]) def all_dates_in_year(year=2019): for month in range(1, 13): # Month is always 1..12 for day in range(1, monthrange(year, month)[1] + 1): yield Date(year, month, day)
Usage example:
for date in all_dates_in_year(2019): print(date)
This will print (excerpt):
Date(year=2019, month=1, day=1) Date(year=2019, month=1, day=2) Date(year=2019, month=1, day=3) [...] Date(year=2019, month=2, day=27) Date(year=2019, month=2, day=28) Date(year=2019, month=3, day=1) [...] Date(year=2019, month=12, day=29) Date(year=2019, month=12, day=30) Date(year=2019, month=12, day=31)
You can also install my Python3 library UliEngineering using sudo pip3 install -U UliEngineering and then use all_dates_in_year()
by importing it like this:
from UliEngineering.Utils.Date import *
Also see How to get number of days in month in Python