built-in:
Public Ada Library:
package CALENDAR is
type TIME is private;
subtype YEAR_NUMBER is INTEGER range 1901 .. 2099;
subtype MONTH_NUMBER is INTEGER range 1 .. 12;
subtype DAY_NUMBER is INTEGER range 1 .. 31;
subtype DAY_DURATION is DURATION range 0.0 .. 86400.0;
function CLOCK return TIME;
function YEAR (DATE : TIME) return YEAR_NUMBER;
function MONTH (DATE : TIME) return MONTH_NUMBER;
function DAY (DATE : TIME) return DAY_NUMBER;
function SECONDS (DATE : TIME) return DAY_DURATION;
procedure SPLIT (DATE : in TIME;
YEAR : out YEAR_NUMBER;
MONTH : out MONTH_NUMBER;
DAY : out DAY_NUMBER;
SECONDS : out DAY_DURATION);
function TIME_OF (YEAR : YEAR_NUMBER;
MONTH : MONTH_NUMBER;
DAY : DAY_NUMBER;
SECONDS : DAY_DURATION) return TIME;
function "+" (LEFT : TIME; RIGHT : DURATION) return TIME;
function "+" (LEFT : DURATION; RIGHT : TIME ) return TIME;
function "-" (LEFT : TIME; RIGHT : DURATION) return TIME;
function "-" (LEFT : TIME; RIGHT : TIME) return DURATION;
function "<" (LEFT,RIGHT : TIME) return BOOLEAN;
function "<=" (LEFT,RIGHT : TIME) return BOOLEAN;
function ">" (LEFT,RIGHT : TIME) return BOOLEAN;
function ">=" (LEFT,RIGHT : TIME) return BOOLEAN;
TIME_ERROR : exception;
private
-- implementation-dependent
end;
------------------------------------------------------- -- cal.adb - try out the calendar package routines -- -- Lawrie Brown - 31 Jan 96 ------------------------------------------------------- with TEXT_IO, CALENDAR; use TEXT_IO, CALENDAR; procedure cal is package int_io is new TEXT_IO.INTEGER_IO (INTEGER); use int_io; now : TIME; -- current time begin -- cal now := clock; -- obtain current time put (integer(year(now))); put (integer(month(now))); put (integer(day(now))); new_line; end cal;