DateTimeImmutable::setTime
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
DateTimeImmutable::setTime — Define um horário
Descrição
public DateTimeImmutable::setTime(
int
int
int
int
): DateTimeImmutable
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
- DateTimeImmutable::setDate() - Define a data
- DateTimeImmutable::setISODate() - Define a data ISO