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.