Este conteúdo não recebe atualizações, pois é referente a uma versão do sistema que foi descontinuada. Acesse a documentação da versão 6.10.1 aqui

RetornaDifDataHora

Retorna a diferença entre as datas e horas informadas, sendo que é considerado o conjunto data + hora e não informações individuais.

Sintaxe: RetornaDifDataHora(Data aDatIni, Numero aHorIni, Data aDatFim, Numero aHorFim, Numero End aDias, Numero End aHoras, Numero End aMinutos)

Parâmetros:

Nome Tipo Descrição
aDatIni Numérico Data inicial.
aHorIni Numérico Hora inicial.
aDatFim Numérico Data final.
aHorFim Numérico Hora final.
aDias Numérico Retorna a quantidade de dias existente entre as datas.
aHoras Numérico Retorna a quantidade de horas existente entre as datas.
aMinutos Numérico Retorna a quantidade de minutos existente entre as datas.

Exemplo: 

/* Exemplos de parâmetros passados e retorno esperado */

Definir Data xData1;
Definir Data xData2;
Definir Data xHora1;
Definir Data xHora2;

/* ********* */
/* Exemplo 1 */
/* ********* */
MontaData(01,12,2005, xData1);
xHora1 = 480; /* 8:00 */
MontaData(20,02,2006, xData2);
xHora2 = 1080; /* 18:00 */

RetornaDifDataHora(xData1, xHora1, xData2, xHora2, xDias, xHoras, xMinutos);

/* Retorno esperado */
xDias = 81;
xHoras = 10;
xMinutos = 0;


/* ********* */
/* Exemplo 2 */
/* ********* */
MontaData(10,02,2006, xData1);
xHora1 = 1110; /* 18:30 */
MontaData(11,02,2006, xData2);
xHora2 = 480; /* 8:00 */

RetornaDifDataHora(xData1, xHora1, xData2, xHora2, xDias, xHoras, xMinutos);

/* Retorno esperado */
xDias = 0;
xHoras = 13;
xMinutos = 30;


/* ********* */
/* Exemplo 3 */
/* ********* */
MontaData(10,01,2006, xData1);
xHora1 = 0;
MontaData(20,02,2006, xData2);
xHora2 = 0;

RetornaDifDataHora(xData1, xHora1, xData2, xHora2, xDias, xHoras, xMinutos);

/* Retorno esperado */
xDias = 40;
xHoras = 0;
xMinutos = 0;

xMinutos = 0;
xMinutos = 0;


/* ********* */
/* Exemplo 4 */
/* ********* */
MontaData(10,01,2006, xData1);
xHora1 = 720;
MontaData(20,02,2006, xData2);
xHora2 = 720;

RetornaDifDataHora(xData1, xHora1, xData2, xHora2, xDias, xHoras, xMinutos);

/* Retorno esperado */
xDias = 41;
xHoras = 0;
xMinutos = 0;

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

Este artigo ajudou você?