-- Time.mesa (last edited by: McJones on: August 5, 1980 2:31 PM)

DIRECTORY
System: FROM "System" USING [gmtEpoch, GreenwichMeanTime];

Time: DEFINITIONS =
BEGIN

Packed: TYPE = System.GreenwichMeanTime;

Unpacked: TYPE = RECORD [
year: [0..2050],
-- base year is 1968
month: [0..12),
-- January = 0
day: [0..31],
-- first day of month = 1
hour: [0..24),
minute: [0..60),
second: [0..60),
weekday: [0..6],
-- Monday = 0
zone: [-12..12],
dst: BOOLEAN];

defaultTime: System.GreenwichMeanTime = System.gmtEpoch;

Current: PROCEDURE RETURNS [time: System.GreenwichMeanTime];
Unpack: PROCEDURE [time: System.GreenwichMeanTime ← defaultTime] -- default means now
RETURNS [unpacked: Unpacked];
Invalid: ERROR;
Pack: PROCEDURE [unpacked: Unpacked, computeDST: BOOLEAN ← TRUE]
RETURNS [time: System.GreenwichMeanTime];
Append: PROCEDURE [s: STRING, unpacked: Unpacked, zone: BOOLEAN ← FALSE]; -- 12-JAN-77 12:34 PST
AppendCurrent: PROCEDURE [s: STRING, zone: BOOLEAN ← FALSE];

END.

LOG

Time: February 9, 1980 1:44 PM By: Johnsson Action: Create file
Time: February 9, 1980 1:44 PM By: McJones Action: Convert to use System.GreenwichMeanTime
Time: April 17, 1980 11:00 AM By: McJones Action: Change default time for Unpack to gmtEpoch
Time: August 5, 1980 2:31 PM By: McJones Action: Add Packed for Alto compatibility