Page 1 of 1

Confrontare due orari

Posted: Sun Mar 29, 2009 1:19 pm
by Marco Turco
Salve, sapere se esiste una funzione per confrontare due orari ?
In pratica avendo cTime1="10.55" e cTime2="13.44" vorrei una funzione che mi restituisce se un orario è maggiore o minore dell'altro.

Grazie in anticipo

Re: Confrontare due orari

Posted: Mon Mar 30, 2009 8:53 am
by Enrico Maria Giordano
cTime1 > cTime2

EMG

Re: Confrontare due orari

Posted: Mon Mar 30, 2009 6:12 pm
by Marco Turco
Ho già risolto con TimeToSec(), grazie comunque per il suggerimento.

Re: Confrontare due orari

Posted: Mon Mar 30, 2009 8:12 pm
by Enrico Maria Giordano
Perché usare una funzione, per di più non standard, per fare qualcosa che si fa con i normali operatori di confronto?

EMG

Re: Confrontare due orari

Posted: Tue Apr 14, 2009 4:57 pm
by Silvio
scusa Marco ma ho avuto problemi con il terremoto , ho la casa lesionata anc'hio
cmq prova questo .
FUNCTION Diff_Tempo( dData1,cOra1,dData2,cOra2 )
LOCAL nGiorni,nOrasp,nMinutp,nOrasa,nMinuta,nOras,nMinuto


IF cOra1 = NIL .OR. EMPTY( cOra1 )
cOra1 := "00:00"
END IF

IF dData2 = NIL .OR. EMPTY( dData2 )
dData2 := DATE()
END IF

IF cOra2 = NIL .OR. EMPTY( cOra2 )
cOra2 := SUBSTR( TIME(),1,5 )
END IF


IF VALTYPE( dData1 ) != 'D' .OR. VALTYPE( dData2 ) != 'D' .OR.;
VALTYPE( cOra1 ) != 'C' .OR. VALTYPE( cOra2 ) != 'C' .OR.;
EMPTY( dData1 )
RETURN 0
END IF


nGiorni := dData2 - dData1


nOrasp := VAL( SUBSTR( cOra2,1,2 ) )
nMinutp := VAL( SUBSTR( cOra2,4,2 ) )

nOrasa := VAL( SUBSTR( cOra1,1,2 ) )
nMinuta := VAL( SUBSTR( cOra1,4,2 ) )


nOras := nOrasp - nOrasa


IF nOras < 0
--nGiorni
nOras += 24
END IF


nMinuto = nMinutp - nMinuta

IF nMinuto < 0
--nOras
nMinuto += 60
END IF

RETURN nMinuto + ( nOras * 60 ) + ( ( nGiorni * 24 ) * 60 )