função incmonth delphi
31/03/2021
0
Boa tarde,
Estou utilizando a função IncMonth do Delphi para somar meses e gerar parcelas na minha aplicação.
Me deparei com o seguinte problema:
Se a parcela vence dia 30 por exemplo. Quando chega no mes de fevereiro ela vai para dia 28, o que é correto,
o problema é que a partir disso os meses subsequentes continua com dia 28, nao volta para dia 30.
ex: 30/01/2021
28/02/2021
28/03/2021
Alguem poderia me ajudar? obrigado.
Estou utilizando a função IncMonth do Delphi para somar meses e gerar parcelas na minha aplicação.
Me deparei com o seguinte problema:
Se a parcela vence dia 30 por exemplo. Quando chega no mes de fevereiro ela vai para dia 28, o que é correto,
o problema é que a partir disso os meses subsequentes continua com dia 28, nao volta para dia 30.
ex: 30/01/2021
28/02/2021
28/03/2021
Alguem poderia me ajudar? obrigado.
Andre Alves
Curtir tópico
+ 0
Responder
Post mais votado
31/03/2021
É isso mesmo?
Normalmente o sistema de parcelamento acrescenta 30 dias, e não um mês.
Assim as datas seriam:
30/01/2021
01/03/2021
31/03/2021
Para obter o resultado que você quer, faça o incremento do mês a partir da data inicial.
Normalmente o sistema de parcelamento acrescenta 30 dias, e não um mês.
Assim as datas seriam:
30/01/2021
01/03/2021
31/03/2021
Para obter o resultado que você quer, faça o incremento do mês a partir da data inicial.
datainicial := 2021-01-30; dataparcela := datainicial; parcela := 1; repeat // faz alguma coisa com dataparcela showmessage( datetostr( dataparcela ) ); // incrementa o mês da parcela dataparcela := incmonth(datainicial, parcela); // sempre incrementa a partir da data inicial, não da última data inc(parcela) until parcela < 4;
Emerson Nascimento
Responder
Mais Posts
06/04/2021
Andre Alves
É isso mesmo?
Normalmente o sistema de parcelamento acrescenta 30 dias, e não um mês.
Assim as datas seriam:
30/01/2021
01/03/2021
31/03/2021
Para obter o resultado que você quer, faça o incremento do mês a partir da data inicial.
Normalmente o sistema de parcelamento acrescenta 30 dias, e não um mês.
Assim as datas seriam:
30/01/2021
01/03/2021
31/03/2021
Para obter o resultado que você quer, faça o incremento do mês a partir da data inicial.
datainicial := 2021-01-30; dataparcela := datainicial; parcela := 1; repeat // faz alguma coisa com dataparcela showmessage( datetostr( dataparcela ) ); // incrementa o mês da parcela dataparcela := incmonth(datainicial, parcela); // sempre incrementa a partir da data inicial, não da última data inc(parcela) until parcela < 4;
Funcionou, eu estava incrementando errado a partir da ultima parcela gerada, incrementando sempre da parcela original funcionou
obrigado.
Responder
Clique aqui para fazer login e interagir na Comunidade :)