Previous topic | Ada Home Page | Index

Some Useful Packages

built-in:

Public Ada Library:

CALENDAR package

CALENDAR specification


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;

Using CALENDAR

-------------------------------------------------------
-- 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;


Previous topic | Ada Home Page | Index
c-lokan@adfa.oz.au / 20 Feb 96