SELECT MyCursor
SCAN
REPLACE time WITH hoursdif(StartTime, EndTime)
ENDSCAN
FUNCTION hoursdif
PARAMETER m.time1, m.time2
PRIVATE m.time1, m.time2, m.difhours, m.difminutes
IF m.time1 > m.time2
m.difhours = VAL(LEFT(m.time1,2)) - VAL(LEFT(m.time2,2))
m.difminutes = VAL(RIGHT(m.time1,2)) - VAL(RIGHT(m.time2,2))
ELSE
m.difhours = VAL(LEFT(m.time2,2)) - VAL(LEFT(m.time1,2))
m.difminutes = VAL(RIGHT(m.time2,2)) - VAL(RIGHT(m.time1,2))
ENDIF
DO WHILE m.difminutes < 0
m.difminutes = m.difminutes + 60
m.difhours = m.difhours - 1
ENDDO
IF m.difhours = 0 AND m.difminutes = 0
RETURN ' '
ELSE
RETURN STRTRAN(STR(m.difhours,2) + ':' + STR(m.difminutes,2),' ','0')
ENDIF
|