TimeToSec

TimeToSec()

Calculates the seconds since midnight

Syntax

      TimeToSec(<cTime>) --> nSeconds

Argument

<cTime> Designates a character string that contains the time in the format “HH:MM:SS:hh”. The default is the system time.

Returns

The returned value designates how many seconds have elapsed between midnight and <cTime>. Hundredths of seconds are contained as a decimal value.

Description

When computing time periods, or when adding times, it is simpler to deal with seconds since midnight instead of time designations. These calculations are simplified significantly. The SECTOTIME() function converts the result into a time designation again. Starting from back to front, you can omit the hundredths, seconds, and minutes from the time string that is passed as a parameter. These values are then assumed to be “00”.

If you do not specify a parameter, the function uses the current time on the system clock.

Examples

      .  A simple conversion:

      ? TimeToSec("12:44:33:22")                 // Result:  45873.22

      .  The period between two times is calculated. The result is
         displayed in seconds:

      cBegin      :=  "12:55:44:33"
      cEnd        :=  "14:56:12:22"

      ? TimeToSec(cEnd) - TIMETOSEC(cBegin)      // Period in seconds

      .  Possible formats:

      ? TimeToSec("12")
      ? TimeToSec("12:44)
      ? TimeToSec("12:44:33)
      ? TimeToSec("12:44:33:22")

Seealso

SECTOTIME()

SecToTime

SecToTime()

Converts seconds into a time string

Syntax

      SecToTime(<nSeconds>, [<lHundredth>]) --> cTime

Arguments

<nSeconds> Designates the number of seconds since midnight to convert into a character string in time format.

<lHundredth> If this optional parameter is designated as .T., the resulting time string contains hundredths of seconds. The default is no hundredths (.F.).

Returns

SecToTime() returns a time string that corresponds to <nSeconds> in the “HH:MM:SS” or “HH:MM:SS:hh” format.

Description

This function can be applied in two areas — to convert numeric time spans in seconds, and to convert a point in time into the “HH:MM:SS” or “HH:MM:SS:hh” format.

If hundredths of seconds are also desired in the time string result, then designate the second parameter as .T.. The portion of the value for <nSeconds> to the right of the decimal is also converted.

Notes

. Seconds since midnight are in the range of 0 to 86400. With larger values, the function internally executes the operation <nSeconds> % 86400 and then uses the result value. 86400 seconds corresponds to an entire day.

. There is no rounding when values like 45366.98 are converted without hundredths.

Examples

      .  Calculate the span between two times.  The result is displayed
         in the "HH:MM:SS" format:

      nBeginning  :=  170
      nEnd        :=  3656

      ? SECTOTIME(nEnd - nBeginning)     // "00:58:06"

      .  With hundredth seconds:

      ? SECTOTIME(45873.22, .T.)         // "12:44:33:22"

Seealso

TIMETOSEC()