No estoy seguro si estas funciones ya existen en alguna librería, de todas formas las he implementado. Puede ser que no funcionen bien en todas las circunstancias. Agradezco vuestras pruebas, gracias 
timesecs.prg
timesecs.prg
#include "FiveWin.ch"
//----------------------------------------------------------------------------//
function Main()
MsgInfo( SecsToTime( TimeToSecs( "15:30:00" ) - TimeToSecs( "12:00:00" ) ) )
return nil
//----------------------------------------------------------------------------//
function TimeToSecs( cTime )
return Val( SubStr( cTime, 1, 2 ) ) * 3600 + ;
Val( SubStr( cTime, 4, 2 ) ) * 60 + ;
Val( SubStr( cTime, 7, 2 ) )
//----------------------------------------------------------------------------//
function SecsToTime( nTimeInSecs )
local nHours := Int( nTimeInSecs / 3600 )
local nMins := Int( nTimeInSecs % 3600 / 60 )
local nSecs := Int( nTimeInSecs - ( nHours * 3600 ) - ( nMins * 60 ) )
return StrZero( nHours, 2 ) + ":" + StrZero( nMins, 2 ) + ":" + ;
StrZero( nSecs, 2 )
//----------------------------------------------------------------------------//