PHP – Operaciones con Horas [SOLUCIONADO]

Todo lo que necesitas saber sobre Operaciones con Horas en PHP

En el mundo de la programación PHP, el manejo de tiempo es un aspecto esencial que cada desarrollador debe conocer. En este sentido, las Operaciones con Horas son un elemento fundamental para lograr un manejo de tiempo efectivo.

El objeto DateTime en PHP

PHP cuenta con un objeto DateTime, que permite trabajar con fechas y horas. Para crear un objeto DateTime, utilizamos su constructor:

    $date = new DateTime();
  

Donde $date guardará la fecha y hora actual. Si deseamos establecer un valor de tiempo específico, lo podemos hacer enviando un string de fecha/hora al constructor.

Formateo de fechas y horas

Para formatear las fechas o horas del objeto DateTime, podemos usar el método format. Este método acepta una cadena de formato que detalla cómo se debe formatear la fecha/hora:

    echo $date->format('Y-m-d H:i:s');
  

Esto imprimirá la fecha/hora actual en un formato “Año-Mes-Día Hora:Minutos:Segundos”.

Operaciones con Horas en PHP

Muchas veces, necesitaremos hacer operaciones con horas. Para ello, PHP cuenta con la clase DateInterval, la cual nos permite representar una duración de tiempo. Podemos sumar o restar un intervalo de tiempo a nuestro objeto DateTime con los métodos add y sub respectivamente.

    $interval = new DateInterval('PT1H'); 
    $date->add($interval);
    echo $date->format('Y-m-d H:i:s');
  

En este código, hemos creado un intervalo de tiempo de una hora (‘PT1H’) y lo hemos añadido a nuestra fecha/hora actual. Ahora, $date representará una hora en el futuro respecto a cuando fue creado el objeto.

Comparando Horas

Es importante también saber cómo comparar horas en PHP, y para ello podemos utilizar el método diff del objeto DateTime. Este método toma otro objeto DateTime como argumento y regresa un objeto DateInterval que representa la diferencia entre los dos.

    $date1 = new DateTime('2000-01-01');
    $date2 = new DateTime('2000-01-02');
    $interval = $date1->diff($date2);
    echo $interval->format('%a días');
  

En el código anterior estamos comparando $date1 y $date2 y mostrando la diferencia en días. También podríamos usar ‘%h’ para obtener la diferencia en horas.

Tiempo Unix en PHP

Otra forma de manejar fechas y horas en PHP es a través del tiempo Unix, que es la cantidad de segundos que han transcurrido desde la media noche Universal Time Coordinated (UTC) del 1 de enero de 1970.

Podemos obtener el tiempo Unix actual con la función time:

    echo time();
  

Y podemos convertir un tiempo Unix a un objeto DateTime con la función DateTime::createFromFormat:

    $time = time();
    $date = DateTime::createFromFormat('U', $time);
    echo $date->format('Y-m-d H:i:s');
  

En este código, hemos convertido el tiempo Unix actual a un objeto DateTime y después lo hemos formateado a un string de fecha/hora.

Conclusión

Como podemos ver, PHP nos facilita mucho el trabajo a la hora de manejar fechas y horas y realizar operaciones con ellas. No dudes en experimentar con las posibilidades que te ofrecen estos objetos y funciones para así enriquecer tus proyectos.

Esperamos que este artículo te haya sido de utilidad y que ahora te sientas más cómodo trabajando con horas en PHP.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad