Como adicionar dias em PHP
-
addMétodo emDateTime()para adicionar dias em PHP -
date_add()para adicionar dias para a data em PHP
Manipular a data em PHP pode ser feito de várias maneiras, pode adicionar ou deduzir horas, meses, anos, etc. O PHP fornece diferentes funções como DateTime, date_add e combinação de strtotime() e date().
add Método em DateTime() para adicionar dias em PHP
Utilizando PHP versão 5.3 e superior, o objeto DateTime e seu método add também pode ser uma solução. O DateTime suporta mais formatos de data do que o strtotime e o date. A utilização de um objeto também é mais fácil que funções arbitrárias. Por exemplo, ao comparar duas datas, é direto em DateTime, mas em strtotime, é necessário converter a data primeiro para o carimbo da hora.
Exemplo:
<?php
$oldDate = "2020-02-27";
$newDate = new DateTime($oldDate);
$newDate->add(new DateInterval('P1D')); // P1D means a period of 1 day
$fomattedDate = $date->format('Y-m-d');
?>
O seguinte código irá imprimir a resultado:
echo $fomattedDate; //output: 2020-02-28
A parte difícil de utilizar o DateTime() é o objeto DateInterval. Isto aceita uma especificação de intervalo válida. O formato adequado começa com a letra P que significa period, seguido por um valor inteiro, e depois D para o dia. Se a duração é tempo, a última parte precisa ser T.
Combinação de strtotime() e date() para adicionar dias à data em PHP
O strtotime() é uma função PHP que é utilizada para converter uma descrição de data textual em inglês para um carimbo de tempo UNIX. A função strtotime aceitará um valor de string que representa a data e a hora.
Exemplo:
<?php
$oldDate = "2020-02-27";
$date1 = date("Y-m-d", strtotime($oldDate.'+ 1 days'));
$date2 = date("Y-m-d", strtotime($oldDate.'+ 2 days'));
?>
O seguinte código será emitido:
echo $date1; //output: 2020-02-28
echo $date2; //output: 2020-02-29
O exemplo acima aceitará uma string de data com formato apropriado e retornará a nova data utilizando strtotime e +1 days. A função date() deu o formato adequado.
Nota: Para evitar obscuridade, recomenda-se utilizar o formato ISO 8601 (YYYY-MM-DD).
date_add() para adicionar dias para a data em PHP
Esta abordagem é a mais fácil entre as outras para acrescentar dias, meses, anos, horas, minutos e segundos.
Exemplo:
$oldDate = date_create("2020-02-27");
date_add($oldDate, date_interval_create_from_date_string("1 day"));
Em aplicação:
echo date_format($date,"Y-m-d"); //output: 2020-02-28
O exemplo acima também adiciona datas a uma seqüência de datas, date_create() cria um objeto DateTime. O date_interval_create_from_date_string() configura um DateInterval a partir das partes da string. Então, finalmente, date_add() incrementa o valor da data.