if time2=13:38:37 time1=13:18:34 i get it as -00:00:0 i think the result it must be as 00:20:03 another ex.. if time2=13:21:03 time1=13:19:21 i get it like -00:01:4 i need it like 00:01:40thanks to much,
>USE newdnc >thisform.text9.value = time()&& i a ctivate it at the begining run >thisform.text13.value = time() && after seconds i activate it via command bottom1. >thisform.text14.value = thisform.TIM(thisform.text13.value, thisform.text9.value) >replace time1 with thisform.text9.value,; > time2 with thisform.text13.value,; > time3 with thisform.text14.value > > >***** Method TIM of the form > LPARAMETERS nSecs, nSec2 > LOCAL c_hours, c_min, c_znak, nLocSec > IF .NOT. TYPE("nSecs") $"CT" .OR.; > .NOT. TYPE("nSec2") $"CT" .OR.; > TYPE("nSecs") # TYPE("nSec2") > RETURN "" > ENDIF > > IF TYPE("nSecs") == "C" && Time string > nLocSecs = VAL(LEFT(nSec2,2))*3600 > nLocSecs = nLocSecs + VAL(SUBSTR(nSec2,4,2))*60+ VAL(SUBSTR(nSec2,7,2)) > nLocSecs = nLocSecs - (VAL(LEFT(nSecs,2))*3600 ++ VAL(SUBSTR(nSecs,4,2))*60+ VAL(SUBSTR(nSecs,7,2))) > ELSE >*** Suppose here You passed DateTime parameters > nLocSecs = nSec2 - nSecs > ENDIF > > c_znak = IIF(nLocSecs < 0, "-","") > nSecs = ABS(nLocSecs) > c_hours = INT(nSecs/3600) > nSecs = nSecs - (c_hours*3600) > c_hours = IIF(c_hours<10,"0","")+ALLTRIM(STR(c_hours,15)) > c_min = INT(nSecs/60) > nSecs = nSecs - (c_min*60) > c_min = IIF(c_min<10,"0","") + ALLTRIM(STR(c_min,15)) > nSecs = IIF(nSecs<10,"0","") + ALLTRIM(STR(nSecs,10)) > >RETURN c_znak+c_hours+":"+c_min+":"+nSecs >>