El módulo de calendario permite generar calendarios como un programa y proporciona funciones útiles adicionales relacionadas con el calendario. Las funciones y clases definidas en el módulo Calendario utilizan un calendario idealizado, el actual calendario gregoriano extendido indefinidamente en ambas direcciones.
El método yeardatescalendar() en Python se usa para obtener una lista de las semanas en el mes del año como semanas completas. Las entradas en las listas de semana son números de día. Los números de días fuera de este mes son cero.
Syntax: yeardatescalendar(year, width) Parameter: year: year of the calendar width: [Default: 3] number of months in each row. Returns: a list of month rows.
Código #1:
Python3
# Python program to demonstrate working # of yeardatescalendar() method # importing calendar module import calendar obj = calendar.Calendar() year = 2016 # default value of width is 3 # printing with yeardatescalendar print(obj.yeardatescalendar(year))
Producción:
[[[[datetime.date(2018, 1, 1), datetime.date(2018, 1, 2), datetime.date(2018, 1, 3), datetime.date(2018, 1, 4), datetime. fecha(2018, 1, 5), fechahora.fecha(2018, 1, 6), fechahora.fecha(2018, 1, 7)], [fechahora.fecha(2018, 1, 8), fechahora.fecha(2018, 1, 9), fechahora.fecha(2018, 1, 10), fechahora.fecha(2018, 1, 11), fechahora.fecha(2018, 1, 12), fechahora.fecha(2018, 1, 13), fechahora .date(2018, 1, 14)], [datetime.date(2018, 1, 15), datetime.date(2018, 1, 16), datetime.date(2018, 1, 17), datetime.date(2018 , 1, 18), fechahora.fecha(2018, 1, 19), fechahora.fecha(2018, 1, 20), fechahora.fecha(2018, 1, 21)], [fechahora.fecha(2018, 1, 22) ), datetime.date(2018, 1, 23), datetime.date(2018, 1, 24), datetime.date(2018, 1, 25), datetime.date(2018, 1, 26), datetime.date( 2018, 1, 27), fechahora.fecha(2018, 1, 28)],
. . . . .
[fechahora.fecha(2018, 12, 17), fechahora.fecha(2018, 12, 18), fechahora.fecha(2018, 12, 19), fechahora.fecha(2018, 12, 20), fechahora.fecha(2018) , 12, 21), fechahora.fecha(2018, 12, 22), fechahora.fecha(2018, 12, 23)], [fechahora.fecha(2018, 12, 24), fechahora.fecha(2018, 12, 25) ), datetime.date(2018, 12, 26), datetime.date(2018, 12, 27), datetime.date(2018, 12, 28), datetime.date(2018, 12, 29), datetime.date( 2018, 12, 30)], [fechahora.fecha(2018, 12, 31), fechahora.fecha(2019, 1, 1), fechahora.fecha(2019, 1, 2), fechahora.fecha(2019, 1, 3), fechahora.fecha(2019, 1, 4), fechahora.fecha(2019, 1, 5), fechahora.fecha(2019, 1, 6)]]]]
Tenga en cuenta que las semanas en la salida son listas de siete objetos datetime.date.
Código #2: iterando la lista de semanas
Python3
# Python program to demonstrate working # of yeardatescalendar() method # importing calendar module import calendar obj = calendar.Calendar() # iterating with yeardatescalendar for day in obj.yeardatescalendar(2018, 1): print(day)
Producción:
[[[datetime.date(2018, 1, 1), datetime.date(2018, 1, 2), datetime.date(2018, 1, 3), datetime.date(2018, 1, 4) . . . fechahora.fecha(2018, 1, 31), fechahora.fecha(2018, 2, 1), fechahora.fecha(2018, 2, 2), fechahora.fecha(2018, 2, 3), fechahora.fecha(2018, 2, 4)]]]
. . . .
[[[datetime.date(2018, 11, 26), datetime.date(2018, 11, 27), datetime.date(2018, 11, 28), datetime.date(2018, 11, 29), datetime.date (2018, 11, 30), datetime.date(2018, 12, 1), datetime.date(2018, 12, 2)], [datetime.date(2018, 12, 3). . .datetime.date(2018, 12, 29), datetime.date(2018, 12, 30)], [datetime.date(2018, 12, 31), datetime.date(2019, 1, 1), datetime.date (2019, 1, 2), fechahora.fecha(2019, 1, 3), fechahora.fecha(2019, 1, 4), fechahora.fecha(2019, 1, 5), fechahora.fecha(2019, 1, 6 )]]]