---------------------------------------------------------------------- -- Title : TimeAK -- Version : 1.0 -- Author : David Wallace Croft, CompuServe [76600,102] -- Compiler : Ada -- Unit Type : package specification -- Copyright : 1994 David Wallace Croft. All rights reserved. -- Description : Calendar and time package ---------------------------------------------------------------------- with Calendar; package TimeAK is ---------------------------------------------------------------------- Copyright : constant string := "TimeAK (C) 1994 David Wallace Croft. All rights reserved."; ---------------------------------------------------------------------- -- Calendar package renamed. ---------------------------------------------------------------------- subtype Time is Calendar.Time; subtype Year_Number is Calendar.Year_Number; subtype Month_Number is Calendar.Month_Number; subtype Day_Number is Calendar.Day_Number; subtype Day_Duration is Calendar.Day_Duration; ---------------------------------------------------------------------- function Clock return Time renames Calendar.Clock; function Year ( T : Time ) return Year_Number renames Calendar.Year; function Month ( T : Time ) return Month_Number renames Calendar.Month; function Day ( T : Time ) return Day_Number renames Calendar.Day; function Seconds ( T : Time ) return Day_Duration renames Calendar.Seconds; procedure Split ( Date : in Time; Year : out Year_Number; Month : out Month_Number; Day : out Day_Number; Seconds : out Day_Duration ) renames Calendar.Split; function Time_Of ( Year : Year_Number; Month : Month_Number; Day : Day_Number; Seconds : Day_Duration := 0.0 ) return Time renames Calendar.Time_Of; ---------------------------------------------------------------------- Time_Error : exception renames Calendar.Time_Error; ---------------------------------------------------------------------- function "+" ( X : Time; Y : Duration ) return Time renames Calendar."+"; function "+" ( X : Duration; Y : Time ) return Time renames Calendar."+"; function "-" ( X : Time; Y : Duration ) return Time renames Calendar."-"; function "-" ( X : Time; Y : Time ) return Duration renames Calendar."-"; function "<" ( X, Y : Time ) return boolean renames Calendar."<"; function "<=" ( X, Y : Time ) return boolean renames Calendar."<="; function ">" ( X, Y : Time ) return boolean renames Calendar.">"; function ">=" ( X, Y : Time ) return boolean renames Calendar.">="; ---------------------------------------------------------------------- -- Declarations unique to TimeAK package. ---------------------------------------------------------------------- subtype Hour_Type is natural range 0..23; subtype Minute_Type is natural range 0..59; subtype Second_Type is natural range 0..59; subtype Centi_Type is natural range 0..99; subtype Date_Str_Type is string ( 1..10 ); -- YYYY/MM/DD subtype Time_Str_Type is string ( 1..11 ); -- HH:MM:SS.CC subtype Date_Time_Str_Type is string ( 1..22 ); -- YYYY/MM/DD HH:MM:SS.CC type Date_Time_Format_Type is ( Unknown, YYYY_MM_DD_HH_MM_SS_CC, YYYY_MM_DD_HH_MM_SS, YYYY_MM_DD, YY_MM_DD_HH_MM_SS_CC, YY_MM_DD_HH_MM_SS, YY_MM_DD, MM_DD_YY_HH_MM_SS_CC, MM_DD_YY_HH_MM_SS, MM_DD_YY ); ---------------------------------------------------------------------- -- Sub-programs unique to TimeAK. ---------------------------------------------------------------------- function Convert_Format ( Date_Time_Str : in string ) return Date_Time_Str_Type; procedure Demo; function Determine_Date_Time_Format ( Date_Time_Str : in string ) return Date_Time_Format_Type; function Join ( Year : in Year_Number; Month : in Month_Number; Day : in Day_Number; Hour : in Hour_Type; Minute : in Minute_Type; Second : in Second_Type; Centi : in Centi_Type ) return Time; function Image ( T : in Time ) return string; procedure Split ( T : in Time; Year : out Year_Number; Month : out Month_Number; Day : out Day_Number; Hour : out Hour_Type; Minute : out Minute_Type; Second : out Second_Type; Centi : out Centi_Type ); function Value ( Date_Time_Str : in Date_Time_Str_Type ) return Time; ---------------------------------------------------------------------- ---------------------------------------------------------------------- end TimeAK;