Saltar al contenido

Función de PHP date_time_set()

En PHP, el método DateTime::setTime() se utiliza para establecer una nueva hora para un objeto DateTime dado. Este método forma parte de la clase DateTime de PHP y se puede usar para establecer la porción de tiempo de un objeto de fecha/hora en un nuevo valor.

Sintaxis

La sintaxis del método DateTime::setTime() es la siguiente:

La sintaxis del método DateTime::setTime()

php
$datetime->setTime($hour, $minute, $second, $microsecond);

Donde:

  • $datetime es el objeto DateTime que se va a modificar.
  • $hour es el nuevo valor de hora (0–23).
  • $minute es el nuevo valor de minuto (0–59).
  • $second es el nuevo valor de segundo (0–59, opcional, el valor predeterminado es 0).
  • $microsecond es el nuevo valor de microsegundo (0–999999, opcional, el valor predeterminado es 0).

Nota: La zona horaria del objeto DateTime se conserva durante esta operación. El método modifica el objeto en su lugar. Si los valores proporcionados exceden sus rangos válidos, PHP los normaliza automáticamente (por ejemplo, la hora 25 pasa al día siguiente) en lugar de lanzar una excepción.

Ejemplo de uso

Veamos un ejemplo de cómo usar el método DateTime::setTime():

Ejemplo del método PHP DateTime::setTime()

php
<?php
$date = new DateTime('2000-01-01 12:00:00');
$date->setTime(14, 30);
echo $date->format('Y-m-d H:i:s');

En este ejemplo, primero creamos un nuevo objeto DateTime con la fecha y hora establecidas en '2000-01-01 12:00:00'. Luego, usamos el método setTime() para establecer la hora en 14 y el minuto en 30. Finalmente, usamos el método format() para mostrar la fecha y hora modificadas en el formato 'Y-m-d H:i:s'.

Cómo se compara DateTime::setTime() con otras funciones

El método DateTime::setTime() es el enfoque orientado a objetos estándar en PHP para modificar la hora. A diferencia de las funciones de fecha procedimentales que devuelven nuevas cadenas o requieren un análisis complejo, setTime() modifica directamente el objeto DateTime en su lugar, garantizando la seguridad de tipos y un comportamiento consistente. Esto contrasta con DateTimeImmutable::setTime(), que devuelve una nueva instancia en lugar de alterar el objeto original.

Conclusión

El método DateTime::setTime() es una herramienta útil para manipular fechas y horas en PHP. Al proporcionar una forma sencilla de actualizar la porción de tiempo de un objeto DateTime, ofrece un enfoque conveniente y confiable para la manipulación de fechas y horas. Para el manejo de fechas inmutables, use DateTimeImmutable::setTime(), que devuelve una nueva instancia en lugar de modificar la original.

Práctica

¿Qué hace la función date_default_timezone_set() en PHP?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.