Fórum efetuar calculos com data #365688

30/10/2008

0

Bom gente estou mais uma vez aqui tirando duvidas
eu gostaria de saber como faço para efetuar calculos com datas
por exemplo
eu tenho um contas a receber
ai efetuei uma venda hoje para pagamento com 30 dias
gostaria de saber como faço para jogar a data do pagamento para daqui a 30 dias
como seria o calculo para fazer isto?
tecnologias usadas:
Delphi 7, Firebird 2.1 e DBExpress

des de ja agradeço a atenção :D


Jeovanne

Jeovanne

Responder

Posts

31/10/2008

Marciodossantosprog

Olá jeovanne,

No Firebird não sei se existe a função GetDate() do Sql Server. Se Existir, Vc poderá solucionar seu problema assim:

Insert Into TabelaPagamento (DataDaOperacao, DataDeVencimento)
Values (GetDate(), GetDate() + 30).

Simples assim.
Espero ter ajudado.


Responder

Gostei + 0

31/10/2008

Rasn

Transpondo a resposta do colega marciodossantosprog para o Firebird, indico usar:


SELECT CURRENT_TIMESTAMP FROM RDB$DATABASE para obter a data atual do servidor no lugar do GetDate() do SQLServer

Logo, o exemplo ficaria assim:


Insert Into TabelaPagamento (DataDaOperacao, DataDeVencimento)
Values ((SELECT CURRENT_TIMESTAMP FROM RDB$DATABASE), (SELECT CURRENT_TIMESTAMP FROM RDB$DATABASE) + 30)


Responder

Gostei + 0

31/10/2008

Rodolpho123

Olá Jeovanne,

Eu aconselho vc a utilizar a função [b:b887820139]IncMonth()[/b:b887820139] do Delphi7 ( está na unit DateUtils), onde:
IncMonth([data],[numero de meses a incrementar])


Ela vai lhe retornar exatamente o próximo mês, independente dele conter ou não 30 dias, ex:
Data: 01/10/2008
Incrementar 30 dias: 30/10/2008
Utilizando a função: 01/11/2008



Responder

Gostei + 0

03/11/2008

Jeovanne

Rodolpho123
não intendi sua colocação tentei algumas coisas aqui mas não consegui


Responder

Gostei + 0

03/11/2008

Rodolpho123

Rodolpho123 não intendi sua colocação tentei algumas coisas aqui mas não consegui


Jeovanne,

1- Vamos ter como exemplo o mês de fevereiro/2008 = 29 dias.
2- Adicione 30 dias apartir do dia 15/02/2008 (15/02 + 30)
3- Vc espera com esse cálculo chegar a data 15/03/2008? Correto?

Errado! Vc vai chegar no dia 16/03/2008. Se vc utilizar a função [b:30ee78e687]IncMonth[/b:30ee78e687] vc vai ter, independente do ano ser bissexto ou o mês ter 31 dias, a data como vc espera ter, ou seja 15/03/2008.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar