Reto fechas y tiempo

Proyecto
Intermedio
Python
Python
90 min
200 XP
Actualizado: 06/05/2025

¡Practica y certifícate!

Retroalimentación
Soluciones
Certificado
Comenzar

Descripción

Desarrollar una aplicación en Python para gestionar y manipular fechas y tiempos, implementando diversas operaciones como cálculos entre fechas, conversiones entre zonas horarias y formateo personalizado.

  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.

    Guarda tu progreso

    Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

    Progreso guardado
    Asistente IA
    Ejercicios
    Iniciar sesión gratis

    Más de 25.000 desarrolladores ya confían en CertiDevs

  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.

Solución al ejercicio

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el examen para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.

solution.js
JavaScript
1 function solveChallenge ( input ) {
2 // Algoritmo optimizado O(n log n)
3 const data = parseInput ( input );
4 const sorted = data . sort (( a , b ) => a - b );
5
6 // Aplicar técnica de dos punteros
7 let left = 0 , right = sorted . length - 1 ;
8 const result = [];
9
10 while ( left < right ) {
11 const sum = sorted [ left ] + sorted [ right ];
12 if ( sum === target ) {
13 result . push ([ sorted [ left ], sorted [ right ]]);
14 left ++; right --;
15 } else if ( sum < target ) {
16 left ++;
17 } else {
18 right --;
19 }
20 }
21
22 return result ;
23 }
Código completo
Explicaciones
Mejores prácticas
+1.200 developers han resuelto este ejercicio de programación

Practica con exámenes de Python

Mejora tus habilidades con cientos de exámenes de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.

Retroalimentación

Aprende de tus errores

Progreso

Mide tu avance

Certificación

Valida tus habilidades

Únete a miles de desarrolladores mejorando sus habilidades

⭐⭐⭐⭐⭐
4.9/5 valoración