I haven’t tested this at all, but something like this seems like what you’re looking for.
TIME:Tick EQUATE( 1)
TIME:Second EQUATE(100 * TIME:Tick)
TIME:Minute EQUATE( 60 * TIME:Second)
TIME:Hour EQUATE( 60 * TIME:Minute)
TIME:Day EQUATE( 24 * TIME:Hour )
Dates.Span PROCEDURE(LONG xDateA, LONG xTimeA, LONG xDateB, LONG xTimeB, *LONG xOutSpanDays, *LONG xOutSpanTime)
FirstDate LONG,AUTO
FirstTime LONG,AUTO
SecondDate LONG,AUTO
SecondTime LONG,AUTO
CODE
IF (xDateA < xDateB) OR (xDateA = xDateB AND xTimeA < xTimeB)
FirstDate = xDateA
FirstTime = xTimeA
SecondDate = xDateB
SecondTime = xTimeB
ELSE
FirstDate = xDateB
FirstTime = xTimeB
SecondDate = xDateA
SecondTime = xTimeA
END
xOutSpanDays = SecondDate - FirstDate
IF FirstTime <= SecondTime
xOutSpanTime = SecondTime - FirstTime
ELSE
xOutSpanDays -= 1
xOutSpanTime = FirstTime - ( SecondTime - TIME:Day )
END