Flávio Bárrios
 
        Sua função serviu muito bem para o meu propósito. Precisei apenas incluir um array para verificação do tempo em meses e anos.
 
Obrigado.
Ismael Gouveia
 
----- Original Message -----
Sent: Friday, June 02, 2000 10:01 AM
Subject: Re: [sqlwin] Dúvida

Ismael,
segue uma função que utilizamos.

Flávio Bárrios
Procenge Ltda.
www.procenge.com.br


!!CB!! 134
Function: Gx_DateDiference
     Description: Faz a diferença entre duas datas. Retornando a diferença
em dias, horas,minutos e segundos.
               Data Inicial deve ser menor que a final
     Returns
          Boolean:
     Parameters
          Date/Time: pdInicial
          Date/Time: pdFinal
          Receive Number: pnDias
          Receive Number: pnHoras
          Receive Number: pnMinutos
          Receive Number: pnSegundos
     Static Variables
     Local variables
          Number: lnFator
          Number: lnTotalSegundos
          Number: lnRestoSegundos
     Actions
          If pdInicial <= pdFinal
               Set lnFator = 0.0000001157407407
               Set lnTotalSegundos = SalNumberTruncate( (pdFinal -
pdInicial) /  lnFator /100, 10, 0 )
               Set pnDias = SalNumberTruncate( lnTotalSegundos / 86400 ,
10, 0 )
               Set lnRestoSegundos = SalNumberMod( lnTotalSegundos, 86400 )
               Set pnHoras = SalNumberTruncate( lnRestoSegundos / 3600 ,
10, 0 )
               Set lnRestoSegundos = SalNumberMod( lnRestoSegundos, 3600 )
               Set pnMinutos = SalNumberTruncate( lnRestoSegundos / 60 ,
10, 0 )
               Set lnRestoSegundos = SalNumberMod( lnRestoSegundos, 60 )
               Set pnSegundos = lnRestoSegundos
               Return TRUE
          Return FALSE








"Ismael Gouveia" <[EMAIL PROTECTED]> on 01/06/2000 19:12:25

Please respond to [EMAIL PROTECTED]

To:   "Centura Lista" <[EMAIL PROTECTED]>
cc:    (bcc: Flavio Barrios/Procenge)
Subject:  [sqlwin] Dúvida




        Estou precisando de uma fórmula para mostrar em um .qrp, a duração
de um determinado processo em quantidade de anos, meses, dias, horas e
minutos através de suas datas de inicio e fim.

ex:

Data inicial do processo: Dec 17 1999 12:02 PM
Data final do processo: May  3 2000  9:48 AM
Duração: 4 meses, 15 dias, 21 horas e 46 minutos.

        A fórmula (se existir) pode ser no próprio SqlWindows ou uma função
do Sybase.

Agradeço a atenção.
Ismael Gouveia


Responder a