ID: Q101796
2.00 2.50 2.50a | 2.50 2.50a
MS-DOS | WINDOWS
kbprg
The information in this article applies to:
To convert a time string of the form "HH:MM:SS" to a numeric value, you must create a user-defined function (UDF). The following code is provided as an example.
* TTON(<expC>)
* Convert <expC> to a number of hours
* Return value - Numeric
* <expC> is a string of the form "HH:MM:SS". If <expC> doesn't
* contain two colons (::), or time values are not in the range,
* TTON returns -1.
FUNCTION TTON
PARAMETERS timestr
PRIVATE pos1,pos2,hours,minutes,seconds
* Get position of first and second occurrences of ':'
pos1=at(':',timestr,1)
pos2=at(':',timestr,2)
* Error checking
IF pos1==0 OR pos2==0
RETURN -1
ENDIF
* Convert hh, mm and ss to numeric values and check for valid range
hours = VAL(timestr)
IF hours < 0 or hours > 24
RETURN -1
ENDIF
minutes = VAL(SUBSTR(timestr,pos1+1)) && from 1st ':' to 2nd ':'
IF minutes < 0 or minutes > 59
RETURN -1
ENDIF
seconds=VAL(SUBSTR(timestr,IIF(LEN(timestr)>=pos2+1,pos2+1,0)))
IF seconds < 0 or seconds > 59
RETURN -1
ENDIF
* Convert minutes and seconds to decimal values
minutes=minutes/60
seconds=(seconds/60)/60
* Return total value of hours, minutes and seconds
RETURN ( hours+minutes+seconds )
Additional reference words: FoxWin FoxDos 2.00 2.50 2.50a NTOT
KBCategory: kbprg
KBSubcategory: FxprgGeneral
Keywords : FxprgGeneral
Version : 2.00 2.50 2.50a | 2.50 2.50a
Platform : MS-DOS WINDOWS
Last Reviewed: April 30, 1996