% % stack: neg-time-str % "-" empty replall % % this should be a normal formatted time % " " 0 2 1 parse % % stack: hours mins % any? { dup numeric { % % proper numeric minutes % dup 60 lt { *datenowr _hours &":" _minutes 2 prezero & & !subtime !minutes % % analyze the hours % dup numeric { % % proper numeric hours % !hours _subtime _hours 60 mul _minutes add minus "n" Time.Add Time.Timels pop !minutes !hours } { % % not proper hours % pop } ifelse } { % % not a proper minutes value % pop2 } ifelse } { % % not a proper number for minutes % pop2 } ifelse } { % % no minutes % pop } ifelse