Ejercicio de programación con Python: Reto fechas y tiempo
1h 30m
Desarrolla en Python un gestor de fechas con cálculos, zonas horarias y validación para manipular tiempos eficazmente.
Crea un nuevo archivo Python llamado
gestor_fechas.py
e importa los módulos necesarios (datetime
,calendar
ypytz
).Define la clase
GestorFechas
con un constructor que inicialice los atributos básicos. La clase debe poder recibir una fecha como parámetro opcional o usar la fecha actual si no se proporciona.Implementa el método
diferencia_entre_fechas(fecha1, fecha2)
que calcule y devuelva un diccionario con la diferencia en días, horas, minutos y segundos entre dos fechas.Desarrolla el método
convertir_zona_horaria(fecha, zona_origen, zona_destino)
que permita convertir una fecha de una zona horaria a otra utilizando el módulopytz
.Crea el método
formatear_fecha(fecha, formato)
que reciba una fecha y un patrón de formato (como "dd/mm/yyyy", "yyyy-mm-dd", etc.) y devuelva la fecha formateada según ese patrón.Implementa el método
es_fecha_valida(fecha_str, formato)
que verifique si una cadena de texto representa una fecha válida según el formato especificado.Desarrolla el método
dias_laborables(fecha_inicio, fecha_fin)
que calcule el número de días laborables (excluyendo sábados y domingos) entre dos fechas.Implementa el método
modificar_fecha(fecha, **kwargs)
que permita añadir o restar días, horas, minutos o segundos a una fecha dada.Crea el método
es_bisiesto(año)
que determine si un año es bisiesto o no.Desarrolla un archivo
main.py
que importe tu claseGestorFechas
y demuestre todas sus funcionalidades con ejemplos prácticos.
Más ejercicios de programación con Python
Evalúa tus conocimientos en Python con más ejercicios de programación de tipo Test, Puzzle, Código y Proyecto con VSCode.
Módulo math
Reto herencia
Excepciones
Introducción a Python
Reto variables
Funciones Python
Reto funciones
Módulo datetime
Reto acumulación
Reto estructuras condicionales
Polimorfismo
Módulo os
Reto métodos dunder
Diccionarios
Reto clases y objetos
Reto operadores
Operadores
Estructuras de control
Funciones lambda
Reto diccionarios
Tecnologías de este ejercicio de programación
Entornos de desarrollo para este ejercicio

Visual Studio Code

GitHub