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.