DateTimeImmutable::setTime

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

DateTimeImmutable::setTimeDefine um horário

Descrição

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

Retorna um novo objeto DateTimeImmutable configurado com o horário fornecido.

Parâmetros

hour

Hora do horário.

minute

Minuto do horário.

second

Segundo do horário.

microsecond

Microssegundo do horário.

Valor Retornado

Retorna um novo objeto DateTimeImmutable com os dados modificados.

Registro de Alterações

Versão Descrição
8.1.0 O comportamento com horários que podem ter duplicidade (durante o retorno do horário de verão) mudou. Anteriormente, o PHP usaria a segunda ocorrência do horário (depois do retorno do horário de verão), em vez da primeira ocorrência (antes do retorno).
7.1.0 O parâmetro microsecond foi incluído.

Exemplos

Example #1 Exemplo da função 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";
?>

Os exemplos acima produzirão algo semelhante a:

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

Example #2 Valores que excedem os limites são adicionados a seus valores pai

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

O exemplo acima produzirá:

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

Veja Também