(* Abbreviation: TimeDate *) (* Version 3.00, Mar 1987 *) DEFINITION MODULE TimeDate; (* Access to the system's date and time *) EXPORT QUALIFIED Time, SetTime, GetTime, CompareTime, TimeToZero, TimeToString; TYPE Time = RECORD day, minute, millisec: CARDINAL; END; (* - date and time of day 'day' is : Bits 0..4 = day of month (1..31), Bits 5..8 = month of the year (1..12), Bits 9..15 = year - 1900. 'minute' is hour * 60 + minutes. 'millisec' is second * 1000 + milliseconds, starting with 0 at every minute. *) PROCEDURE GetTime (VAR curTime: Time); (* - Return the current date and time. out: curTime record containing date and time. On systems which do not keep date or time, 'GetTime' returns a pseudo-random number. *) PROCEDURE SetTime (curTime: Time); (* - Set the current date and time. in: curTime record containing date and time. On systems which do not keep date or time, this call has no effect. *) PROCEDURE CompareTime(t1, t2: Time): INTEGER; (* - compare two dates and time in : t1, t2 two time structures to compare out: return integer value indicating result of comparison -1 t1 < t2 0 t1 = t2 +1 t1 > t2 *) PROCEDURE TimeToZero(VAR t: Time); (* - initialize time and date to zero out: t zero time 00-00-00 00:00:00 *) PROCEDURE TimeToString(t: Time; VAR s: ARRAY OF CHAR); (* - convert time into a string in : t time structure to be convert to a string out: s string containing description of date and time given in t. The length of s should be at least 17 characters and the time will be of format: yy-mm-dd hh:nn:ss where yy is year (last 2 digits only) mm is month (1..12) dd is day of month (1..31) hh is hours (0..23) nn is minutes (0..59) ss is seconds (0..59) *) END TimeDate.