>FUNCTION stohms > PARAMETERS t_str > PRIVATE t_str, hrs, mins, secs, isdec, rvalue > LOCAL isNeg > > IF m.t_Str < 0 > m.t_Str=t_str*-1 > m.isNeg=.t. > ELSE > m.isNeg=.f. > ENDIF > IF m.t_str - INT(m.t_str) # 0 && if decimal places > isdec = .T. > ELSE > isdec = .F. > ENDIF > hrs = INT(m.t_str/3600) && get the number of hours > t_str = m.t_str - (m.hrs * 3600) && subtract hours from t_str > mins = INT(m.t_str/60) && get the number of minutes > t_str = m.t_str - m.mins * 60 && subtract minutes from str. > IF .NOT. m.isdec && if no decimal places > IF m.t_str >= 10 > m.secs = LTRIM(STR(m.t_str)) > ELSE > m.secs = '0' + LTRIM(STR(m.t_str)) && pad out string > ENDIF > ELSE && if decimal places > IF m.t_str >= 10 > m.secs = STR(m.t_str,5,2) > ELSE > m.secs = '0' + STR(m.t_str,4,2) && pad out string > ENDIF > ENDIF > hrs = LTRIM(STR(m.hrs)) && convert to string > mins = LTRIM(STR(m.mins)) > *** stuff string into '00' > hrs = STUFF('00',3-LEN(m.hrs),LEN(m.hrs),m.hrs) > mins = STUFF('00',3-LEN(m.mins),LEN(m.mins),m.mins) > *** assemble rvalue > if m.secs="60" > mins=alltr(str(val(m.mins)+1)) > secs="00" > endif > if m.mins="60" > hrs=alltr(str(val(m.hrs)+1)) > mins="00" > ENDIF > IF LEN(m.mins)<2 > mins=[0]+m.mins > ENDIF > rvalue = m.hrs + ':' + m.mins + ':' + m.secs > IF m.isNeg > rValue=rValue+[-] > ENDIF > > RETURN(rvalue) >*: EOF: STOHMS.PRG > >