Python Tutorial de CALENDARIO con ejemplo
Módulo de calendario en Python tiene la clase de calendario que permite realizar cálculos para diversas tareas según la fecha, el mes y el año. Además, las clases TextCalendar y HTMLCalendar en Python le permite editar el calendario y utilizarlo según sus necesidades.
Veamos qué podemos hacer con Python Calendario.
Paso 1) Ejecute el código.
- Línea de código n.° 1: comenzamos con “importar calendario” que importará todas las clases de este módulo.
- Línea de código n.º 3: c= calendario.TextCalendar(calendar.SUNDAY) le dice al intérprete que cree un calendario de texto. El inicio del mes será el domingo. En Python, puedes formatear el calendario ya que puedes cambiar el día del mes para empezar
- Línea de código n.° 4: str= c.formatmonth(2025,1) Estamos creando un calendario para el año 2025, mes 1 – enero
- Línea de código n.° 5: print str imprimirá la salida.
Cambiemos rápidamente el valor de domingo a jueves y verifiquemos el resultado.
Paso 2) También puede imprimir el calendario en formato HTML; esta función es útil para los desarrolladores si desean realizar algún cambio en la apariencia del calendario.
Paso 3) bucles durante los días de un mes utilizando c.itermonthday (2025,4), obtendrá el número total de días de ese mes.
- Cuando ejecute el código para obtener el número total de días para un mes específico, diga "abril", obtendrá 30 días en el resultado, pero también verá algunos ceros junto con estos días al principio y, a veces, al final. .
- Los ceros en la salida significan que el día de la semana está en un mes superpuesto, lo que significa que no pertenece a ese mes.
- Estos ceros aparecen en la salida porque, en su código mencionó el día (jueves), por lo que cuando llame a la función "c.itermonthdays", comenzará a contar días a partir del jueves y es posible que su jueves no comience con la fecha 1.st de abril podría ser el 28th o 29th de marzo, por lo que cuando ejecutes el código empezará a contar días a partir del 28th de marzo y cualquier día posterior hasta el 1st de abril. Estos días se contarán como cero y en el resultado verá estos ceros y lo mismo se aplica al final del mes.
- Entonces, excepto las fechas 1-30, todas las fechas del mes anterior y posterior aparecerán en el resultado como ceros.
Paso 4) Puede obtener los datos del sistema local, como meses o días laborables, etc.
- El resultado que se muestra aquí muestra que hemos impreso el nombre de los meses desde el sistema local. Asimismo, también puede obtener el nombre de los días de la semana como se muestra a continuación.
-
La salida dependerá del sistema local, supongamos que si su sistema local es el de otro país, entonces dará la salida según la configuración local de ese país. Aquí tenemos meses, así que no habrá diferencia, pero si es una semana o un día, seguramente será diferente.
Paso 5) Puede recuperar la lista del día específico durante todo un año. Por ejemplo, cada primer día hay un día de auditoría. Monday de una semana. ¿Quieres saber la fecha de la primera Monday para cada mes. Puedes usar este código
- mycal = calendar.monthcalendar(2025, mes) creará un calendario para el mes
- Establezca las variables semana1 y semana2 en la primera y segunda semana del calendario.
- Compruebe si la Semana 1 contiene Monday, establecer el día de la auditoría
- De lo contrario, establezca el día de la auditoría como el primero. Monday en la semana 2
- El resultado muestra la fecha de la primera Monday que cae en ese mes.
- La duración de este objeto Cal será cierta, según la cantidad de semanas que haya en el mes. En nuestro caso, serán uno o dos como tal primero. Monday de la semana será en la primera semana con mayor frecuencia, pero si no, considere la segunda semana. Veamos en detalle por qué también consideramos la segunda semana.
- Aquí estamos usando la constante del calendario. Monday, el objeto calendario te proporciona constantes que representan el domingo, Monday, Martes, y así sucesivamente. Los hemos visto anteriormente. Entonces, si en la semana uno el día representado por el Monday constante no es igual a 0, recuerde que ceros significa días que pertenecen a otro mes. Entonces, en este caso, si es cero, será un Monday que pertenece al mes anterior. Pero si el primero Monday no es igual a 0, eso significa que mi día de auditoría será dentro de la semana uno. De lo contrario, si es 0, entonces el primer día de auditoría será dentro de la semana uno. Monday no es en la primera semana del mes, tiene que ser en la segunda.
- Entonces digo bien, establezca mi variable de día de auditoría para que sea la Monday representado por la Semana dos. Entonces, el día de la auditoría volverá con el día de la primera o segunda semana.
Aquí está el código completo
Python 2 Ejemplo
import calendar # Create a plain text calendar c = calendar.TextCalendar(calendar.THURSDAY) str = c.formatmonth(2025, 1, 0, 0) print str # Create an HTML formatted calendar hc = calendar.HTMLCalendar(calendar.THURSDAY) str = hc.formatmonth(2025, 1) print str # loop over the days of a month # zeroes indicate that the day of the week is in a next month or overlapping month for i in c.itermonthdays(2025, 4): print i # The calendar can give info based on local such a names of days and months (full and abbreviated forms) for name in calendar.month_name: print name for day in calendar.day_name: print day # calculate days based on a rule: For instance an audit day on the second Monday of every month # Figure out what days that would be for each month, we can use the script as shown here for month in range(1, 13): # It retrieves a list of weeks that represent the month mycal = calendar.monthcalendar(2025, month) # The first MONDAY has to be within the first two weeks week1 = mycal[0] week2 = mycal[1] if week1[calendar.MONDAY] != 0: auditday = week1[calendar.MONDAY] else: # if the first MONDAY isn't in the first week, it must be in the second week auditday = week2[calendar.MONDAY] print "%10s %2d" % (calendar.month_name[month], auditday)
Python 3 Ejemplo
import calendar # Create a plain text calendar c = calendar.TextCalendar(calendar.THURSDAY) str = c.formatmonth(2025, 1, 0, 0) print(str) # Create an HTML formatted calendar hc = calendar.HTMLCalendar(calendar.THURSDAY) str = hc.formatmonth(2025, 1) print(str) # loop over the days of a month # zeroes indicate that the day of the week is in a next month or overlapping month for i in c.itermonthdays(2025, 4): print(i) # The calendar can give info based on local such a names of days and months (full and abbreviated forms) for name in calendar.month_name: print(name) for day in calendar.day_name: print(day) # calculate days based on a rule: For instance an audit day on the second Monday of every month # Figure out what days that would be for each month, we can use the script as shown here for month in range(1, 13): # It retrieves a list of weeks that represent the month mycal = calendar.monthcalendar(2025, month) # The first MONDAY has to be within the first two weeks week1 = mycal[0] week2 = mycal[1] if week1[calendar.MONDAY] != 0: auditday = week1[calendar.MONDAY] else: # if the first MONDAY isn't in the first week, it must be in the second week auditday = week2[calendar.MONDAY] print("%10s %2d" % (calendar.month_name[month], auditday))
Resum
- In Python, puede formatear el calendario de la forma que desee, ya que puede cambiar el día del mes para comenzar
- Imprime el Calendario en formato HTML
- Obtener los datos del sistema local, como meses o días laborables.
- Obtenga la lista del día específico durante todo un año.