Ejercicio de programación con Python: Reto fechas y tiempo

Proyecto
Práctica
1h 30m

Desarrolla en Python un gestor de fechas con cálculos, zonas horarias y validación para manipular tiempos eficazmente.

  1. Crea un nuevo archivo Python llamado gestor_fechas.py e importa los módulos necesarios (datetime, calendar y pytz).

  2. 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.

  3. 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.

  4. 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ódulo pytz.

  5. 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.

  6. 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.

  7. 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.

  8. Implementa el método modificar_fecha(fecha, **kwargs) que permita añadir o restar días, horas, minutos o segundos a una fecha dada.

  9. Crea el método es_bisiesto(año) que determine si un año es bisiesto o no.

  10. Desarrolla un archivo main.py que importe tu clase GestorFechas y demuestre todas sus funcionalidades con ejemplos prácticos.

Empezar ejercicio de programación

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.

Tecnologías de este ejercicio de programación

Entornos de desarrollo para este ejercicio

Image

Visual Studio Code

Image

GitHub