Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

douglaspaiani

Como a´dicionais +3 meses a uma data?

Recommended Posts

Olá pessoal,

 

Tenho um banco de dados aqui com uma tabela no banco de dados chamada "vencimento", que contém datas no formato exemplo: 29/04/2016.

 

E estou querendo adicionar mais 3 meses á essa data pra inserir na tabela novamente com a alteração (29/07/2016).

 

Como adiciono 3 meses á essa data? Preciso urgente.

 

Obrigado pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz esse código pra isso:

<?php
        //data inicial
        $vencimentoParcela = "20/05/2016";
        //converte o formato da data para Y-m-d
        $vencimentoParcela = date(implode("-", array_reverse(explode("/", $vencimentoParcela))));
        //Converte string para formato data
        $inicio = strtotime($vencimentoParcela);
        //numero de meses para adicionar
        $final = 3;
        //Adiciona o numero de meses
        $vencimentoParcela = mktime(0, 0, 0, date('m', $inicio) + ($final), date('d', $inicio), date('Y', $inicio));
        $vencimentoParcela = date("Y-m-d", $vencimentoParcela);
        echo $vencimentoParcela;
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você usasse campo do tipo correto (DATE, DATETIME e semelhantes), poderia fazer isso com uma única query, diretamente no banco, sem usar o PHP.

 

Recomendo corrigir os tipos de campos, para evitar futuras outras gambiarras como essa.

 

Leia este artigo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se não poder fazer direto na query, pode utilizar strtotime "+3 months".

$vencimento = "29/04/2016";

// + 3 meses
$timestamp = strtotime("+3 months", 
    strtotime(implode("/", array_reverse(explode("/", $vencimento)))));

$proximo_vencimento = date("d/m/Y", $timestamp);

echo $proximo_vencimento;

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Fiz esse código pra isso:

<?php
        //data inicial
        $vencimentoParcela = "20/05/2016";
        //converte o formato da data para Y-m-d
        $vencimentoParcela = date(implode("-", array_reverse(explode("/", $vencimentoParcela))));
        //Converte string para formato data
        $inicio = strtotime($vencimentoParcela);
        //numero de meses para adicionar
        $final = 3;
        //Adiciona o numero de meses
        $vencimentoParcela = mktime(0, 0, 0, date('m', $inicio) + ($final), date('d', $inicio), date('Y', $inicio));
        $vencimentoParcela = date("Y-m-d", $vencimentoParcela);
        echo $vencimentoParcela;
?>

 

Aee funcionou aqui perfeitamente, vlw ai irmão!

 

Vlw ai pessoal pela atenção!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.