PHP 8.5.0 Alpha 2 available for testing

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

Retorna un nuevo objeto DateTimeImmutable con los datos modificados.

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";
?>

Los ejemplos anteriores mostrarán 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 ejemplo anterior mostrará :

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