PROGRAM DateStampToTime

? Program converts DateStamp returned by F-Basic's DOSTIME function
? To time of day, e.g. xx:xx:xx AM or xx:xx:xx PM

? Program by Christopher Haskins - 12618 57th Dr SE - Snohomish, WA  98290

INTEGER int
TEXT txt*50
DATA (txt," ")

TYPE DateStamp IS RECORD
   INTEGER days,minutes,ticks
ENDTYPE
DateStamp timepointer
SUBPROGRAM
   TEXT time*12

int=DOSTIME(@timepointer)
txt=time(@timepointer)
PRINT "The time is: ",txt(1:LENGTH(txt))
END

FUNCTION time
PARAMETER
   PTR_TO DateStamp a
LOCAL
   INTEGER clkhours,clkminutes,clksecs
   TEXT chours*2,cmin*2,csec*2,ind*2

chours="  "
cmin=csec="00"
ind="AM"
clkhours=a.minutes/60
clkhours=clkhours*(clkhours>=0)*(clkhours<=24)
clkminutes=a.minutes\60
clkminutes=clkminutes*(clkminutes>=0)*(clkminutes<=60)
clksecs=a.ticks/50
clksecs=clksecs*(clksecs>=0)*(clksecs<=60)
IF clkhours>12 THEN
   clkhours=clkhours-12
   ind="PM"
ENDIF

chours(1+(clkhours<10):2)=DIGSTRING(clkhours)
cmin(1+(clkminutes<10):2)=DIGSTRING(clkminutes)
csec(1+(clksecs<10):2)=DIGSTRING(clksecs)

time=chours & ":" & cmin & ":" & csec & " " & ind
GRETURN
END
