dos_compilers/Logitech Modula-2 v34/M2LIB/DEF/TIMEDATE.DEF

90 lines
2.0 KiB
Plaintext
Raw Normal View History

2024-07-02 16:25:31 +02:00
(* 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.