PHPCon Poland 2024

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

Exemplo #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

Exemplo #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

add a note

User Contributed Notes

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