RetDifDat

Retorna a diferença de tempo entre duas datas.

Sintaxe: RetDifDat (Serviço, DataIni, DataFim, Retorno);

Parâmetros:

Nome Tipo Descrição
Serviço Numérico Tipo de retorno desejado, podendo ser:
1 - Quantidade de dias;
2 - Quantidade de meses;
3 - Quantidade de anos;
4 - Quantidade de meses com ajuste;
5 - Quantidade de anos com ajuste;
6 - Quantidade de meses com ajuste pelas datas início e fim.
DataIni  Numérico Data Inicial.
DataFim Numérico Data Final.
Retorno Numérico Variável com o valor referente ao serviço.

Exemplo:

/* Deseja-se saber a quantidade de dias que se passaram desde a data de admissão até a data de geração do relatório. */

 

Definir Data xDatIni;
Definir Data xDatFim;
  xdia = 17;
  xmes = 04;
  xano = 2007;
    MontaData (xdia, xmes, xano, xdatini);
  xdia = 31;
  xmes = 12;
    MontaData (xdia, xmes, xano, xdatfim);
RetDifDat (1, xDatIni, xDatFim, xDatRet);

Logo, a variável xDatRet retornará a diferença referente ao serviço do período informado. No exemplo foi utilizado o serviço 1, porém abaixo estão relacionados os retornos que seriam dados de todos os serviços disponíveis:

1 - 258 dias;
2 - 8 meses;
3 - 0 anos;
4 - 9 meses (258 / 30 = 8 meses e 18 dias - ajustado para 9 meses, conforme conceito);
5 - 1 ano (258 / 30 dias = 8 meses e 18 dias - ajustado para 1 ano, conforme conceito);
6 - 8 meses (Mês de início = 17 a 30/04 = 13 dias - não soma; Mês final maior que 15 dias - soma +1 mês).

Utilização: Gerador de Relatórios e Regras.

Observações: Sobre o Serviço 4, o sistema soma os dias entre as duas datas e divide por 30; caso o restante de dias entre esta divisão for maior ou igual a 15 dias, será somado mais um mês na forma de ajuste.

Sobre o Serviço 5, o sistema soma os dias entre as duas datas e divide por 30; caso o resultado for igual ou maior que 6 meses, será somado mais um ano na forma de ajuste.

Sobre o Serviço 6, o sistema gera o retorno da função com + 1 mês caso a data de início tenha 15 dias dentro do mês de início (número de dias do mês de início - dia início). Também verifica se o dia da data de fim é menor que 15; neste caso gera - 1 mês de ajuste.

Este artigo ajudou você?