SysClock

Type Summary
DateTime = RECORD ... END

          
Procedure Summary
CanGetClock(): BOOLEAN

          Returns TRUE if a system clock can be read; FALSE otherwise.
CanSetClock(): BOOLEAN

          Returns TRUE if a system clock can be set; FALSE otherwise.
GetClock(VAR DateTime)

          If possible, assigns system date and time of day to userData.
GetTimeOfDay(VAR LONGINT, VAR LONGINT): LONGINT

          PRIVAT.
IsValidDateTime(DateTime): BOOLEAN

          Returns TRUE if the value of d represents a valid date and time; FALSE otherwise.
MakeLocalTime(VAR DateTime)

          Fill in the daylight savings mode and time zone for calendar date c.
SetClock(DateTime)

          If possible, sets the system clock to the values of userData.
Constant Summary
active

          Daylight savings adjustments are being used.
inactive

          Daylight savings adjustments are not in effect.
localTime

          Time zone is inactive and time is local.
maxSecondParts

          Most systems have just millisecond accuracy.
unknown

          Current daylight savings status is unknown.
unknownZone

          Time zone is unknown.
zoneMax

          time zone maximum minutes.
zoneMin

          Time zone minimum minutes.

Type Detail

DateTime

TYPE DateTime = RECORD
                    year: INTEGER;
                    month: SHORTINT;
                    day: SHORTINT;
                    hour: SHORTINT;
                    minute: SHORTINT;
                    second: SHORTINT;
                    summerTimeFlag: SHORTINT;
                    fractions: INTEGER;
                    zone: INTEGER;
                END
Procedure Detail

CanGetClock

PROCEDURE CanGetClock(): BOOLEAN

Returns TRUE if a system clock can be read; FALSE otherwise.


CanSetClock

PROCEDURE CanSetClock(): BOOLEAN

Returns TRUE if a system clock can be set; FALSE otherwise.


GetClock

PROCEDURE GetClock(VAR userData: DateTime)

If possible, assigns system date and time of day to userData. That is, the local time is returned. Error returns `1 Jan 1970'.


GetTimeOfDay

PROCEDURE GetTimeOfDay(VAR sec: LONGINT; 
                       VAR usec: LONGINT): LONGINT

PRIVAT. Don't use this. Take Time.GetTime instead. Equivalent to the C function `gettimeofday'. The return value is `0' on success and `-1' on failure; in the latter case `sec' and `usec' are set to zero.


IsValidDateTime

PROCEDURE IsValidDateTime(d: DateTime): BOOLEAN

Returns TRUE if the value of d represents a valid date and time; FALSE otherwise.


MakeLocalTime

PROCEDURE MakeLocalTime(VAR c: DateTime)

Fill in the daylight savings mode and time zone for calendar date c. The fields c.zone and c.summerTimeFlag given in c are ignored, assuming that the rest of the record describes a local time.

Note 1: On most Unix systems the time zone information is only available for dates falling within approximately `1 Jan 1902' to `31 Dec 2037'. Outside this range the field c.zone will be set to the unspecified localTime value, and c.summerTimeFlag will be set to unknown.

Note 2: The time zone information might not be fully accurate for past (and future) years that apply different DST rules than the current year. Usually the current set of rules is used for all years between 1902 and 2037.

Note 3: With DST there is one hour in the year that happens twice: the hour after which the clock is turned back for a full hour. It is undefined which time zone will be selected for dates refering to this hour, that is, whether DST or normal time zone will be chosen.


SetClock

PROCEDURE SetClock(userData: DateTime)

If possible, sets the system clock to the values of userData.

Constant Detail

active

CONST active 

Daylight savings adjustments are being used.


inactive

CONST inactive 

Daylight savings adjustments are not in effect.


localTime

CONST localTime 

Time zone is inactive and time is local.


maxSecondParts

CONST maxSecondParts 

Most systems have just millisecond accuracy.


unknown

CONST unknown 

Current daylight savings status is unknown.


unknownZone

CONST unknownZone 

Time zone is unknown.


zoneMax

CONST zoneMax 

time zone maximum minutes.


zoneMin

CONST zoneMin 

Time zone minimum minutes.