El módulo de calendario en Python tiene la clase de calendario que permite los cálculos para varias tareas en función de la fecha, el mes y el año. Además, la clase TextCalendar y HTMLCalendar en Python le permite editar el calendario y usarlo según sus requisitos.
Veamos qué podemos hacer con Python Calendar.
Paso 1) Ejecute el código.
- Línea de código # 1: Comenzamos con "importar calendario" que importará todas las clases de este módulo.
- Línea de código # 3: c = calendar.TextCalendar (calendar.SUNDAY) le dice al intérprete que cree un calendario de texto. El inicio del mes será el domingo. En Python, puede formatear el calendario ya que puede cambiar el día del mes para empezar
- Línea de código # 4: str = c.formatmonth (2025,1) Estamos creando un calendario para el año 2025, mes 1 - enero
- Línea de código # 5: print str imprimirá la salida.
Cambiemos rápidamente el valor de domingo a jueves y verifiquemos la salida
Paso 2) También puede imprimir el Calendario en formato HTML, esta función es útil para el desarrollador si desea realizar algún cambio en la apariencia del calendario.
Paso 3) Recorre 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 la salida, 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 aparece en la salida, ya que, en su código que usted ha mencionado día (jueves), por lo que cuando se llama "c.itermonthdays" de función, se iniciará días a contar desde el jueves y el Jueves no puede comenzar con fecha 1 st de abril, podría ser de 28 ° o 29 ° de marzo, por lo que cuando se ejecuta el código que se iniciará días a contar desde el 28 º de la marcha y cualquier día después de eso hasta el 1 st de abril. Estos días se contarán como cero y en la salida verá estos ceros y lo mismo es aplicable a fin de mes.
- Entonces, excepto la fecha 1-30, todas las fechas del mes anterior y posterior aparecerán en la salida como ceros.
Paso 4) Puede recuperar los datos del sistema local, como meses o días de la semana, etc.
- La salida aquí muestra que hemos impreso el nombre de los meses del sistema local. Del mismo modo, 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, suponga que si su sistema local es de otros países, 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, sin duda será diferente.
Paso 5) Puede obtener la lista del día específico durante todo un año. Por ejemplo, hay un día de auditoría el primer lunes de la semana. Desea saber la fecha del primer lunes de cada mes. Puedes usar este código
- mycal = calendar.monthcalendar (2025, month) creará un calendario para el mes
- Establezca las variables week1 y week2 en la primera y segunda semana del calendario
- Compruebe si la semana 1 contiene el lunes, establezca el día de auditoría
- De lo contrario, establezca el día de auditoría como el primer lunes de la semana 2
- La salida muestra la fecha del primer lunes que cae en ese mes.
- La duración de este objeto Cal será una determinada duración, según el número de semanas del mes. En nuestro caso, será uno o dos, ya que el primer lunes de la semana será 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 el lunes constante del calendario, el objeto de calendario le da constantes que representan el domingo, lunes, martes, etc. Los hemos visto anteriormente. Entonces, si en la semana uno el día representado por la constante del lunes no es igual a 0, recuerde que los ceros significan días que pertenecen a otro mes. Entonces, en este caso, si es cero, será un lunes que pertenece al mes anterior. Pero si el primer lunes no es igual a 0, eso significa que mi día de auditoría estará dentro de la semana uno. De lo contrario, si es 0, entonces el primer lunes no es la primera semana del mes, debe ser la segunda.
- Entonces, digo bien, establezco mi variable de día de auditoría para que sea el lunes representado por la semana dos. Por lo tanto, el día de auditoría volverá con el día que sea durante la primera o la segunda semana.
Aquí está el código completo
Ejemplo de Python 2
importar calendario# Crea un calendario de texto sin formatoc = calendar.TextCalendar (calendario.JUEVES)str = c.formatmonth (2025, 1, 0, 0)imprimir str# Crea un calendario con formato HTMLhc = calendario.HTMLCalendar (calendario.JUEVES)str = hc.formatmonth (2025, 1)imprimir str# recorrer los días de un mes# los ceros indican que el día de la semana pertenece al próximo mes o mes superpuestopara i en c.itermonthdays (2025, 4):imprimir yo# El calendario puede proporcionar información basada en nombres locales de días y meses (formularios completos y abreviados)para el nombre en calendar.month_name:nombre de imprentapara el día en calendar.day_name:día de impresión# calcular los días según una regla: por ejemplo, un día de auditoría el segundo lunes de cada mes# Averigüe qué días serían para cada mes, podemos usar el script como se muestra aquípor mes en el rango (1, 13):# Recupera una lista de semanas que representan el mesmycal = calendar.monthcalendar (2025, mes)# El primer LUNES debe ser dentro de las dos primeras semanassemana1 = mycal [0]semana2 = mycal [1]si semana1 [calendario.LUNES]! = 0:auditday = week1 [calendar.MONDAY]demás:# si el primer LUNES no es en la primera semana, debe ser en la segunda semanaauditday = week2 [calendar.MONDAY]imprimir "% 10s% 2d"% (calendar.month_name [mes], auditday)
Ejemplo de Python 3
importar calendario# Crea un calendario de texto sin formatoc = calendar.TextCalendar (calendario.JUEVES)str = c.formatmonth (2025, 1, 0, 0)imprimir (str)# Crea un calendario con formato HTMLhc = calendario.HTMLCalendar (calendario.JUEVES)str = hc.formatmonth (2025, 1)imprimir (str)# recorrer los días de un mes# los ceros indican que el día de la semana pertenece al próximo mes o mes superpuestopara i en c.itermonthdays (2025, 4):imprimir (i)# El calendario puede proporcionar información basada en nombres locales de días y meses (formularios completos y abreviados)para el nombre en calendar.month_name:imprimir (nombre)para el día en calendar.day_name:imprimir (día)# calcular los días según una regla: por ejemplo, un día de auditoría el segundo lunes de cada mes# Averigüe qué días serían para cada mes, podemos usar el script como se muestra aquípor mes en el rango (1, 13):# Recupera una lista de semanas que representan el mesmycal = calendar.monthcalendar (2025, mes)# El primer LUNES debe ser dentro de las dos primeras semanassemana1 = mycal [0]semana2 = mycal [1]si semana1 [calendario.LUNES]! = 0:auditday = week1 [calendar.MONDAY]demás:# si el primer LUNES no es en la primera semana, debe ser en la segunda semanaauditday = week2 [calendar.MONDAY]print ("% 10s% 2d"% (calendar.month_name [month], auditday))
Resumen:
- En Python, puede formatear el calendario de la manera 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 de la semana.
- Obtenga la lista del día específico para todo un año