DateTimeImmutable::modify
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
DateTimeImmutable::modify — Cria um novo objeto com seu timestamp modificado
Descrição
Cria um novo objeto DateTimeImmutable com seu timestamp modificado. O objeto original não é modificado.
Parâmetros
modifier
-
Uma string de data/hora. Os formatos válidos são explicados em Formatos de Data e Hora.
Valor Retornado
Retorna um novo objeto DateTimeImmutable modificado ou false
em caso de falha.
Erros/Exceções
Se uma string inválida de data/hora for passada, uma exceção DateMalformedStringException é disparada. Antes do PHP 8.3, era um aviso.
Registro de Alterações
Versão | Descrição |
---|---|
8.3.0 | Agora dispara DateMalformedStringException se uma string inválida é passada, em vez de um aviso. |
Exemplos
Example #1 Exemplo da função DateTimeImmutable::modify()
Estilo orientado a objetos
<?php
$date = new DateTimeImmutable('2006-12-12');
$newDate = $date->modify('+1 day');
echo $newDate->format('Y-m-d');
?>
Os exemplos acima produzirão:
2006-12-13
Example #2 Cuidado na adição ou subtração de meses
<?php
$date = new DateTimeImmutable('2000-12-31');
$newDate1 = $date->modify('+1 month');
echo $newDate1->format('Y-m-d') . "\n";
$newDate2 = $newDate1->modify('+1 month');
echo $newDate2->format('Y-m-d') . "\n";
?>
O exemplo acima produzirá:
2001-01-31 2001-03-03
Veja Também
- DateTimeImmutable::add() - Retorna um novo objeto, com adição de dias, meses, anos, horas, minutos e segundos
- DateTimeImmutable::sub() - Subtrai uma quantidade de dias, meses, anos, horas, minutos e segundos
- DateTimeImmutable::setDate() - Define a data
- DateTimeImmutable::setISODate() - Define a data ISO
- DateTimeImmutable::setTime() - Define um horário
- DateTimeImmutable::setTimestamp() - Define a data e o horário com base em um timestamp Unix