Dúvidas e soluções > Windev, WebDev e WindevMobile

Cálculo com Datas

(1/1)

Montoya:
Olá Rapazeada. Sou um daqueles programadores que aprenderam sozinho um pouco de tudo, ou seja com o algorítimo eu vou aos trancos e barrancos em VB, SQL, Java, Access... para criar minhas aplicações. Eu concordo que cálculos com datas é bem fácil, mas COMECEI agora na linguagem windev, e preciso urgente de como adicionar ou subtrair dias da data atual do sistema. Já sei como obter a data atual do sistema, mas não consegui fazer cálculos com ela. Vou aplica-la no evento ao clicar de um alguns btns. VIDA LONGA Á ESTE FÓRUM!!!!!!!

Marcelo Cruz:
Ola Montoya
Seja bem vindo!

Incremento:
vdatavencimento is Date = DateSys()
vdatavencimento..Month += 2
Info (vdatavencimento)

Diferença

info (Datedifference (today, vdatafin))// teste com Today ou datesys()

E por aí vai.... ;)
Abraço
MarceloCruz


juniorschroder:
Olá... bem vindo ao forum  ;)

Pra fazer soma com datas conheço 3 formas,  a 1ª é simplesmente somar a data o numero de dias. Por Exemplo:

//Cria uma variavel do tipo data
dData is Date = DateSys()
//Soma a variavel data +10 dias
dData+=10 // O += serve para fazer um incremento, seria o mesmo que: dData=dData+10


Outra forma é utilizar algumas "propriedades" que podem ser encontradas em variáveis do tipo date ou datetime, essas propriedades são Day, Month e Year, é praticamente o mesmo que a 1ª forma, mas podemos aqui usando as propriedades Month e Year somar direto numero de meses e anos e não so dias. Ex:

//Cria uma variavel do tipo data
dData is Date = DateSys()
//Soma a variavel data +3 meses
dData..Month+=3

e por último podemos converter a data para uma variável do tipo inteira, adicionar a esta o numero de dias desejados e converter de volta para o tipo data. Ex:

//Cria uma variavel do tipo data
dData is Date = DateSys()
//Cria uma variavel inteira
nData is Int
//Converte a data para inteiro
nData = DateToInteger(dData)
//adiciona a data no formato inteiro +230 dias
nData+=230
//Converte a Data de inteiro para o formato date
dData = IntegerToDate(nData)



Espero ter ajudado, mais duvidas posta ai, e boa sorte com o Windev


Abraço

Montoya:
Legal!!! Deu certo Valeu pessoal. ;D

Navegao

[0] ndice de mensagens

Ir para versão completa