Python CALENDARIO Tutorial con ejemplo
El módulo de calendario en Python tiene la clase de calendario que permite los cálculos para varias tareas según 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 comienzo del mes será el domingo. En Python, puede formatear el calendario como puede cambiar el día del mes para comenzar
- 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 # 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 los desarrolladores si desean realizar cambios en la apariencia del calendario
Paso 3) Recorre los días de un mes usando c.itermonthday (2025,4), obtendrá el número total de días para ese mes.
- Cuando ejecute el código para obtener el número total de días de 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. final de la misma.
- 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, ha mencionado el día (jueves), por lo que cuando llama a la función "c.itermonthdays", comenzará a contar los 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 28 th o 29 th de marzo, por lo que cuando ejecutes el código comenzará a contar los días a partir del 28 th de marzo y cualquier día posterior hasta el 1 st de abril. Estos días se contarán como cero y en la salida verá estos ceros y lo mismo se aplica al final del 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 obtener los datos del sistema local, como meses o días de la semana, etc
- El resultado aquí muestra que hemos impreso el nombre del mes 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, supongamos que si su sistema local es de otros países, 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, ciertamente 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 cada primer lunes de una semana. Quiere saber la fecha del primer lunes de cada mes. Puedes usar este código
- mycal =calendar.monthcalendar(2025, mes) creará el calendario para el mes
- Establezca las variables semana1 y semana2 en la primera y segunda semana del calendario
- Compruebe si la Semana 1 contiene el lunes, establezca el día de la auditoría
- De lo contrario, establezca el día de la 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 va a ser una cierta duración, según la cantidad de semanas que haya en el mes. En nuestro caso, serán uno o dos, por lo 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 la constante lunes del calendario, el objeto de calendario le brinda constantes que representan domingo, lunes, martes, etc. Hemos visto esto anteriormente. Entonces, si en la semana uno el día representado por la constante 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 está en la primera semana del mes, debe estar en la segunda.
- Entonces digo bien, configure mi variable de día de auditoría para que sea el lunes representado por la semana dos. Entonces, el día de la auditoría regresará con el día que sea para la primera o la segunda semana.
Aquí está el código completo
Ejemplo de Python 2
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)
Ejemplo de Python 3
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))
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
- Obtener la lista del día específico para todo un año
python
- Tutorial de clase abstracta de C# con ejemplo:¿Qué es la abstracción?
- Python String strip() Función con EJEMPLO
- Python String count () con EJEMPLOS
- Función Python round() con EJEMPLOS
- Función Python map() con EJEMPLOS
- Python Timeit() con ejemplos
- Tutorial de Rendimiento en Python:Generador y Rendimiento vs Ejemplo de Retorno
- Contador de Python en colecciones con ejemplo
- Python List count () con EJEMPLOS
- Índice de lista de Python () con ejemplo
- Python - Programación de extensiones con C