Mira estas funciones de PortalFox que te pueden servir:
Diferencia en días, horas, minutos y segundos de dos variables DATETIME()
http://www.portalfox.com/article.php?sid=140
Transformar una cantidad n de segundos a HH:MM:SS
http://www.portalfox.com/article.php?sid=34
Este otro mensaje lo envié hace algún tiempo:
lnDifSeg = _Hor2Seg("20:10:30") - _Hor2Seg("11:30:45")
lcDifTime = _Seg2Hor(lnDifSeg)
*-----------------------------------------------
* FUNCTION _Seg2Hor(nSegundos)
*-----------------------------------------------
* Transforma segundos transcurridos hasta
* la medianoche a formato HH:MM:SS
* USO: _Seg2Hor(nSegundos)
* EJEMPLO: _Seg2Hor(35000)
* RETORNA: Caracter 'HH:MM:SS'
* AUTOR: LMG
*-----------------------------------------------
FUNCTION _Seg2Hor(nSegundos)
IF nSegundos >= 86400
WAIT WIND 'Los segundos exceden a 1 día'
RETURN -1
ENDI
LOCAL lnHoras, lnMinutos, lnSegundos
lnHoras = INT(nSegundos/3600)
lnMinutos = INT(((nSegundos-(lnHoras*3600))/60))
lnSegundos = MOD(nSegundos,60)
RETURN TRANSFORM(lnHoras,"@L 99")+":"+ ;
TRANSFORM(lnMinutos,"@L 99")+":"+ ;
TRANSFORM(lnSegundos,"@L 99")
ENDFUNC
amigo mio vea este comunicado espero te sirva