elapsed = hospital.newdate - Datetime() > hrs3 = Int(elapsed/3600) > mins3 = Int((elapsed - (hrs3*3600)/60) > elapsed2 = Transform( hrs3*100 + mins3, "@RL 99:99") >>>Here's is my calculation for elapsed time. I subtract current time from start time to get elapsed time and show it as HH:MM in a listbox.
>>SELECT hospital >>SCAN >>* Calculate elapsed time >> SET DECIMALS TO 0 >> secs1 = VAL(SUBSTR(TTOC(hospital.newdate),18,2)) >> mins1 = VAL(SUBSTR(TTOC(hospital.newdate),15,2))*60 >> hrs1 = VAL(SUBSTR(TTOC(hospital.newdate),12,2))*3600 >> secs2 = VAL(SUBSTR(TTOC(DATETIME()),18,2)) >> mins2 = VAL(SUBSTR(TTOC(DATETIME()),15,2))*60 >> hrs2 = VAL(SUBSTR(TTOC(DATETIME()-1),12,2))*3600 >> elapsed = (hrs2+mins2+secs2) - (hrs1+mins1+secs1) >> hrs3 = elapsed/3600 >> mins3 = (elapsed - (INT(hrs3)*3600))/60 >> elapsed2 = PADL(ALLT(STR(hrs3-1)),2,"0")+":"+PADL(ALLT(STR(mins3)),2,"0") >> IF (hrs3 > 1 OR mins3 > 20) AND ALLT(hospital.newstatus) <> "OPEN" >> THISFORM.Image1.Visible = .T. >> ELSE >> THISFORM.Image1.Visible = .F. >> ENDIF >> REPLACE hospital.elapstime WITH ALLT(elapsed2) >>ENDSCAN >>