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;