Atualizado em 14 de Julho de 2014

Somar ou Subtrair Dias de uma Data com PHP

Olá pessoal,

O PHP é uma linguagem rica de recursos e neste post vamos ver como Somar ou Subtrair Dias de uma Data de forma prática e simples.

A técnica e a mesma que foi usada no post de Como Calcular Hora, vamos ao exemplo:

<?php
// Soma 5 dias a partir da data indicada
echo date('d/m/Y', strtotime('+5 days', strtotime('14-07-2014')));
// Resultado: 19/07/2014

echo '<br />';

// Subtrai 5 dias a partir da data indicada
echo date('d/m/Y', strtotime('-5 days', strtotime('14-07-2014')));
// Resultado: 09/07/2014
?>

Caso queria apenas somar a data a partir da data de hoje basta usar:

echo date('d/m/Y', strtotime('+5 days'));

É isso ai pessoal.


"Esta dica te ajudou de alguma forma?" Então ajude outras pessoas compartilhando este conteúdo com seus amigos! =)


Até a próxima.

Tags:  Comandos PHP | PHP

Comentários

Sua foto do perfil

RObert

por favor preciso multiplicar os numeros da data atual por 9. Sem os /, apenas os números. EX: data: 01/03/2016 = 01032016*9. Desde já muito obrigado!!

01 de Março de 2016 - 13:31

Sua foto do perfil

Mauricio Programador

Olá Robert,

Basta pegar a data e usar o comando str_replacer para remover as barras, depois fazer a multiplicação.

Link para comando str_replace.

Abraço.

28 de Abril de 2016 - 10:50

Sua foto do perfil

silvio Capaldi

Ola Mauricio, parabéns pelo post.
Tenho um problema se puder me ajudar agradeço:
Tenho que emitir um recibo, que quando passar a data de vencimento, seja acrescentado 20% de multa e a cada dia depois do vencimento acrescente 0,03% do valor.
Grato

15 de Dezembro de 2015 - 07:38

Sua foto do perfil

Mauricio Programador

Olá Silvio,

Obrigado.

Bom para acrescentar o valor basta você compara se a data atual e menor do que a data de vencimento se for basta multiplicar o valor por 1.20 que ele vai dar a multa de 20%.

Depois para saber quanto dias se passaram para acrescentar a multa dia, use o código do post abaixo:

Função para Mostrar a Quantidade de Dias de uma Postagem com PHP

Abraço

04 de Janeiro de 2016 - 09:20

Sua foto do perfil

Fabricio

Maurício, pode me ajudar?

No meu banco de dados tem uma data com id 'publicacao'. Quero somar essa data com 90 dias. Como ficaria?

Atualmente está assim para mostrar ao usuário a data cadastrada:
<?php print $d['publicacao'] ?>

Quero mostrar ao usuário, em outra coluna, essa mesma data somada a 90 dias.

28 de Julho de 2015 - 19:39

Sua foto do perfil

Mauricio Programador

Olá Fabricio,

Basta colocar 90 no lugar do 5 no código acima.

date('d/m/Y', strtotime('+90 days', strtotime($d['publicacao'])))

Abraço.

31 de Julho de 2015 - 16:59

Sua foto do perfil

paulo

Poxa Mauricio ajudou d+ aqui. vlw mesmo :)

01 de Junho de 2015 - 21:31

Sua foto do perfil

Wilson

Olá Mauricio.

Muito bom seu post. Tentei fazer aqui, estou buscando uma data de um registro no banco e gostaria de somar +2 dias a ela, equivalente a 48 horas.

Fiz uma query MySQL, e transformei a data que quero numa string $data_inicio_atendimento.

Aí usei o seu código da seguinte maneira:
echo date('d/m/Y', strtotime('+2 days', strtotime($data_inicio_atendimento)));

Não sei onde errei; hoje é 14/03/2015; o retorno que ele me dá no PHP é 05/01/1970. No meu arquivo de parametros de conexão do banco, estou usando globalmente o fuso horário de SP, que é meu fuso horário. Você saberia onde poderia estar errado?

A intenção de somar essa data é converter a data destino em 48 horas, e fazer uma contagem regressiva de quantos minutos faltam para a data, trata-se de um sistema de tratativa de SLAs, mas estou quebrando a cabeça com essa questão de calculo reverso de data e hora.

Obrigado, abraços.

14 de Março de 2015 - 17:12

Sua foto do perfil

Mauricio Programador

Olá Wilson,

Quando isso ocorre e porque o valor passado como data não esta correto.

De um echo na sua variável $data_inicio_atendimento e verifique se a data esta no mesmo formato do exemplo.

Abraço.

17 de Março de 2015 - 09:53

Sua foto do perfil

Eudes

Olá, Mauricio,
Como abrir uma tag php
a tag <? não funciona

23 de Fevereiro de 2015 - 23:48

Sua foto do perfil

Mauricio Programador

Olá Eudes,

a abertura da tag php deve ser sempre <?php.

Caso seja iniciante de uma olhada em nosso Portal de Cursos sobre PHP, o link segue abaixo.

Portal Aprendendo PHP

Abraço.

24 de Fevereiro de 2015 - 10:05

Sua foto do perfil

Jefferson

Olá Maurício,

Como eu somo minutos a essa hora (agora)?

Obrigado

14 de Julho de 2014 - 19:43

Sua foto do perfil

Mauricio Programador

Olá Jefferson,

de uma olha no post do link abaixo:

Como Calcular Hora com PHP

Abraço.

15 de Julho de 2014 - 09:30

Sua foto do perfil

Aercio Ferreira Neiva

Muito boa suas dicas!
se poder me ajudar com esse problema aqui fico muito Grato!
por exemplo tenho uma data 12-02-2014,
preciso montar algo que me retorne um mes afrente tipo 11-03-2014
se for 01-02-2014 retorna 28-02-2014
se for 02-12-2014 retorna 01-01-2015
se for 01-12-2014 retorna 31-12-2014
Desde já, Agradeço sua atenção

14 de Julho de 2014 - 17:10

Sua foto do perfil

Mauricio Programador

Olá Aercio,

Tem sim, veja o post do link abaixo:

Descobrir Mês Anterior ou Próximo com PHP

Abraço.

15 de Julho de 2014 - 09:28

NEWSLETTER

Receba dicas de programação
em seu e-mail

TWITTER

Acompanhe tudo o que rola
com Mauricio Programador

NEWSLETTER