Ejercicio de programación con PHP: Reto fechas y tiempo
0h 30m
Ejercicio práctico de PHP: Cálculo y formateo de fechas usando DateTime para preparar a los estudiantes en programación avanzada de manejo temporal.
Reto: Formateo y diferencia entre fechas específicas
Usando PHP y la clase DateTime, implementa una función que calcule el tiempo exacto que queda para un evento y lo formatee correctamente.
Requerimientos del Reto
Crear una función llamada tiempoHastaEvento
que acepte un único parámetro:
Un string que representa la fecha y hora del evento en el formato 'd/m/Y H:i'
.
Calcular el tiempo restante para el evento:
Si la fecha del evento ha pasado, la función debe devolver un string que indique que el evento ya ocurrió.
Si la fecha del evento es futura, calcular la diferencia y devolver un string que indique la cantidad de días, horas y minutos que faltan para el evento.
Formato de la salida (ejemplo):
Para un evento que ocurre en 2 días, 3 horas y 15 minutos, el output debería ser:
Consideraciones adicionales:
Utilizar las capacidades de DateTime y DateInterval para manejar la diferencia de fechas.
Manejar y reportar con precisión si el parámetro de entrada no cumple con el formato esperado.
Ejemplo de entrada y salida
Entrada: '25/12/2025 18:00'
Supón que la fecha actual es '23/12/2025 15:00'
Salida esperada: "Quedan 2 días, 3 horas y 0 minutos para el evento."
Entrada: '10/10/2023 09:00'
Supón que la fecha actual es '12/10/2023 10:00'
Salida esperada: "El evento ya ocurrió."
Desarrolla la función bajo estas condiciones, asegurándote de utilizar prácticas actualizadas según la documentación oficial de PHP de 2025.
Quedan 2 días, 3 horas y 15 minutos para el evento.
Todos los ejercicios de programación de PHP
Evalúa tus conocimientos con ejercicios de programación en PHP de tipo Test, Puzzle, Código y Proyecto con VSCode.
Patrones de diseño
Reto clases y objetos
Tipos de datos, variables y constantes
Reto herencia
Reto archivos en formularios
Reto polimorfismo
Reto arrays
Reto formularios
Reto test con PHPUnit
Reto conexión a bases de datos
Reto transacciones
Reto try catch excepciones
Estructuras de control
Reto sentencias CRUD con PDO
Reto try catch de PDOException
Reto manejo de números
Reto archivos temporales
Calculadora en PHP
Reto sesiones
Reto namespaces
Reto traits
Reto mensajes y redirección en formularios
Reto cookies
Reto cifrado contraseñas
Reto funciones
Reto estructuras de control
Operadores y expresiones
Reto encapsulación avanzada
Autoloading de Clases
Reto cadenas de texto
Reto interfaces
Reto CRUD en PHP
Reto clase Libro
Tutorial para resolver este ejercicio de programación
PHP
Manejo de fechas y tiempo
Sintaxis