Fórum Calculo de datas #388493
14/10/2010
0
se eu pegar as data dessa forma 01/10/2010 - 30/10/2010 ele m retorna 29 dias porem isso esta errado pq um mes tem 30 dias
esse esta sendo meu problema se eu for tirar férias nesse periodo 01/10/2010 - 30/10/2010 o resultado teria q ser 30 pq eu vou sair no dia 01 até o dia 30...
entao como posso resolver isso to doido ja olhei na net e nao vi nada....
Laelson Fagundes
Curtir tópico
+ 0Posts
14/10/2010
Leonardo Xavier
Gostei + 0
14/10/2010
Laelson Fagundes
então tenho q informar a data correta se eu sair no dia 01/10/2010 a 30/10/2010 terei q informar essa data...
não dessa forma q vc deu exemplo
Gostei + 0
14/10/2010
Eriley Barbosa
Gostei + 0
14/10/2010
Wilson Junior
DataInicio = 01/10/2010
DiasFerias = 30
DataRetorno = DataInicio + DiasFerias - 1 (este menos um é para contar o primeiro dia de férias)
Espero ter colaborado.
Gostei + 0
14/10/2010
Wilson Junior
DataInicio = 01/10/2010
DataRetorno = 30/10/2010
DiasFerias = DataRetorno - DataInicio + 1 (este mais um é para contar o primeiro dia de férias)
Espero ter colaborado.
Gostei + 0
14/10/2010
Laelson Fagundes
bom fiz um quebra galho aqui
dataIn - dataFim+1
dessa forma funcionou mas naos ei c é a correta...
Gostei + 0
14/10/2010
Laelson Fagundes
bom fiz um quebra galho aqui
dataIn - dataFim+1
dessa forma funcionou mas naos ei c é a correta...
Gostei + 0
14/10/2010
Wilson Junior
Este tipo de cálculo tem diversas utilizadades, como cálculo para MRP, Folha de Pagamento, etc., poderia passar horas escrevendo em várias coisas na qual é utilizado.
Espero ter colaborado.
Gostei + 0
04/07/2012
David Carvalho
pegar o periodo inicial e subtrair com o final em uma data decodificada
dia mes ano Final
01 04 2012
dia mes ano Inicial
10 05 2011
----------------
09 01 1 resultado
ou seja tenho 1 1 mes e 9 dias
ai vem a magica
ano * 12
+ mes
---------
13
se dias >= 15 entao
13 + 1 = 14 meses
dai se for calculo de rescisao, na formula da vencida, paga 12 e a sobra é proporcional :D
segue minha formula
DecodeDate(pvUltFerias,AnoIni,MesIni,DiaIni); -- aqui data de admissao ou ultimas ferias
DecodeDate(pvFim,AnoFim,MesFim,DiaFim); -- aqui fim do periodo ou data da demissao
MesesAno := ( AnoFim - AnoIni ) * 12 ;
Meses := ( MesFim - MesIni ) ;
if Meses < 0 Then
Meses := Meses * -1 ;
Meses := Meses + MesesAno ;
DiaIni := DiaIni - 1 ;
Dias := DiaFim - DiaIni;
if Dias < 0 Then
Dias := Dias * -1 ;
if ( Dias >= 15 ) Then
Meses := Meses + 1 ;
Result := Meses ;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)