DateTimeImmutable::setTime

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::setTimeEstablece la hora

Descripción

public DateTimeImmutable::setTime(
    int $hour,
    int $minute,
    int $second = 0,
    int $microsecond = 0
): DateTimeImmutable

Devuelve un nuevo objeto DateTimeImmutable con la hora establecida a la hora dada.

Parámetros

hour

Hora de la hora.

minute

Minuto de la hora.

second

Segundo de la hora.

microsecond

Microsegundo de la hora.

Valores devueltos

Returns a new DateTimeImmutable object with the modified data.

Historial de cambios

Versión Descripción
8.1.0 El comportamiento con horas dobles existentes (durante la transición de DST de retroceso) cambió. Anteriormente, PHP elegiría la segunda ocurrencia (después de la transición de DST), en lugar de la primera ocurrencia (antes de la transición de DST).
7.1.0 Se ha añadido el parametro microsecond.

Ejemplos

Ejemplo #1 Ejemplo de DateTimeImmutable::setTime()

Estilo orientado a objetos

<?php
$date
= new DateTimeImmutable('2001-01-01');

$newDate = $date->setTime(14, 55);
echo
$newDate->format('Y-m-d H:i:s') . "\n";

$newDate = $date->setTime(14, 55, 24);
echo
$newDate->format('Y-m-d H:i:s') . "\n";
?>

El resultado de los ejemplos sería algo similar a:

2001-01-01 14:55:00
2001-01-01 14:55:24

Ejemplo #2 Valores que exceden los rangos se añaden a sus valores padres

<?php
$date
= new DateTimeImmutable('2001-01-01');

$newDate = $date->setTime(14, 55, 24);
echo
$newDate->format('Y-m-d H:i:s') . "\n";

$newDate = $date->setTime(14, 55, 65);
echo
$newDate->format('Y-m-d H:i:s') . "\n";

$newDate = $date->setTime(14, 65, 24);
echo
$newDate->format('Y-m-d H:i:s') . "\n";

$newDate = $date->setTime(25, 55, 24);
echo
$newDate->format('Y-m-d H:i:s') . "\n";
?>

El resultado del ejemplo sería:

2001-01-01 14:55:24
2001-01-01 14:56:05
2001-01-01 15:05:24
2001-01-02 01:55:24

Ver también

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top