next up previous contents index
Weiter: Die Anhänge zum Hinauf: 15 I/O und Zurück: Ein-/Ausgabe für andere

15.2 Das Paket Calendar

Das Paket Calendar enthält Definitionen von Typen und Operationen, die für den Zeitbegriff in Ada nötig sind. Die Spezifikation lautet:


package Ada.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 .. 86_400.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 := 0.0)
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
... -notspecifiedbythelanguage
end Ada.Calendar;

Mit diesen Operationen kann man nun einigermaßen bequem mit dem Begriff Zeit innerhalb von Ada-Programmen hantieren. Außer den Vergleichsoperationen und den Operationen zum ,,Rechnen`` mit Variablen des Typs time und duration beinhaltet das Paket Calendar auch Unterprogramme zum Aufbau von Variablen des Typs time (time_of) und zum Konvertieren von solchen Variablen in Einheiten von Jahr, Monat, Tag und Sekunden (split, year, month, day und seconds). Die Funktion clock gibt die aktuelle Zeit zurück.

Abschließend soll noch erwähnt werden, daß andere für die Sprache Ada vordefinierte Pakete im Anhang A behandelt werden.



Johann Blieberger
Wed Feb 11 09:58:52 MET 1998