manolegal 12 Denunciar post Postado Setembro 27, 2014 Olá amigos. Preciso descobrir o número total de meses existentes entre 02 datas. Tenho o seguinte código: $date = new DateTime($data_nascimento); // Data de Nascimento $idade_acompanhamento = $date->diff(new DateTime($data_acompanhamento_calculo)); // Data do Acompanhamento $idade_acompanhamento_mostra = $idade_acompanhamento->format('%Y Anos, %m Meses e %d Dias'); Este código me tras a diferença em Anos, meses e dias. Como faço para que retorne o total de meses entre as datas? Pesquisei muito, mas não consegui solucionar o problema. Compartilhar este post Link para o post Compartilhar em outros sites
fsantostupi 2 Denunciar post Postado Setembro 27, 2014 Você pode usar a função strtotime() para isso, criando o timestamp dessas datas e depois calcular o número de meses baseando-se na quantidade de segundos entre as duas datas. $data_ini = '2013-08-01'; $data_end = '2015-08-16'; $dif = strtotime($data_end) - strtotime($data_ini); $meses = floor($diferenca / (60 * 60 * 24 * 30)); echo $meses; Compartilhar este post Link para o post Compartilhar em outros sites
manolegal 12 Denunciar post Postado Setembro 27, 2014 Olá fsantostupi Obrigado pela ajuda. Funcionou, porém há um pequeno detalhe no meu projeto. Pegando por exemplo as datas: $data_ini = '2001-03-21'; $data_end = '2014-03-21'; O resultado foi 158, porém imagino que deveria/precisaria ser 156 (13 anos completos) pois seria a idade em meses da pessoa. Pela função que você colocou imagino que esteja contando os meses existentes entre as datas, mas eu precisaria "dos meses completos". Não sei se há outra forma para aplicar ao que preciso. Fico no aguardo. Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Setembro 27, 2014 Tudo é uma questão de usar a cabeça... se você tem o exemplo que te retorna os anos e os meses restantes, então basta pegar a quantidade de anos, multiplicar por 12 e somar com os meses restantes. <?php $data_nascimento = '2001-03-21'; $data_acompanhamento_calculo = '2014-04-21'; $date = new DateTime($data_nascimento); // Data de Nascimento $idade_acompanhamento = $date->diff(new DateTime($data_acompanhamento_calculo)); // Data do Acompanhamento $idade_acompanhamento_mostra_anos = $idade_acompanhamento->format('%Y')*12; $idade_acompanhamento_mostra_meses = $idade_acompanhamento->format('%m'); $total_meses = $idade_acompanhamento_mostra_anos+$idade_acompanhamento_mostra_meses; echo $total_meses; ?> Compartilhar este post Link para o post Compartilhar em outros sites
manolegal 12 Denunciar post Postado Setembro 28, 2014 Beleza ESerra. Funcionou corretamente. Obrigado aos amigos pela colaboração. Compartilhar este post Link para o post Compartilhar em outros sites