Ir para conteúdo

POWERED BY:

Arquivado

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

_vina

soma de datas

Recommended Posts

Bom dia !!!

 

 

estou com um problema em somar datas.

 

tipo

 

faço uma compra em 15/02/2007 ae escolho pagar em 3x

 

ae as dastas tem q aparecer assim

 

15/02/2007

15/03/2007

15/04/2007

 

 

a data vem digitada assim mesmo

 

15/02/2007

 

ae coloquei em um for para fazer a soma

for($i=0;$i<$parcelas;$i++){$vencimento = strtotime("$data+$i month");}

ae a data aparece assim

31/07/2030

28/09/2030

28/09/2030

 

alguem pode me dar um HELP!?

 

vlws http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

já fiz isso

$data2 = explode("/",$_REQUEST['txtDataParcela']);$data = $data2[0]."-".$data2[1]."-".$data2[2];

na hora de mostrar

 

<?=date("d/m/Y", $vencimento);?>e já tentei<?=date("Y-m-d", $vencimento);?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas a questao nao é "tentar" o strtotime só entende datas no padrao americano mesmo

 

$data = "2007-02-15";
$parcelas = 3;
for($i = 0; $i < $parcelas; $i++){
$vencimento = strtotime("$data+$i month");
echo date("d/m/Y", $vencimento)."<br />";
}

 

resultado :

 

15/02/2007

15/03/2007

15/04/2007

 

viu nao tem erro

 

obs: em relação as parcelas só por comentar mesmo, quando voce parcela alguma coisa a primeira parcela sempre será no proximo mês, se voce paga um valor no mesmo mês é "entrada" , dai o correto seria começar o loop com valor 1 para dar os meses certo de parcelas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,Acho que meu problema é o mesmo.Minhas datas são arquivadas no MYSQL com formato dd/mm/yyyy em campos VARCHAR.Como as converto para o formato YYYY-mm-dd?Só assim poderei fazer os cálculos das parcelas correto?Devo mudar a forma de arquivamento das datas?Qual seria a correta, ou a mais usada?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fabyo,Mas aí eu terei que converter a data que for informada pelo usuário para o formato aceito pelo MYSQL. Ou seja, de dd/mm/yyyy para yyyy-mm-dd.Como faço isso?Como vim do VB6, ainda tô meio crú no PHP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é isso mesmo voce precisa converter a data do usuario para o padrao Mysql

use:

 

implode("-", array_reverse(explode("/", "27/03/2007")));

 

e claro a data tem que estar no padrao dd/mm/yyyy para nao dar erro na função acima

 

e para validar uma data voce pode usar http://php.net/checkdate

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fabyo,A conversão da data digitada funcionou:$emissao = implode("-", array_reverse(explode("/", $_POST["txtEmissaoA"])));A soma das datas das parcelas ficou assim:$venc = strtotime("$emissao+$parc month");$vencimento = date("Y-n-d", $venc);É conversão que não acaba mais..rsrsrs...nisso o VB6 era menos burocrático.Valeu, Fabyo!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tbm trabalho com vb, mas no vb você usava o format(), basicamente se quiser você pode criar uma função estilo o format e usar

 

mas o vb6 tem pouco recurso, tenta fazer no vb6 o que você ta fazendo em 1 linha usando o strtotime() = )

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu fiz ao contrario que voce eu tinha aprendido PHP, e fui obrigado aprender o VB6, hoje eu trabalho com vb6,3 dotnet

e PHP, eu tenho a conciencia que dotnet é melhor, mas eu gosto muito do PHP

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.