* Trivial question: how to avoid confusing sec, min, hour and day in a program? @ 2021-09-05 6:56 reinert 2021-09-05 7:27 ` Dmitry A. Kazakov 0 siblings, 1 reply; 17+ messages in thread From: reinert @ 2021-09-05 6:56 UTC (permalink / raw) Anybody with good ideas on how (in a simplest possible way) to avoid to confuse between representation of time as seconds, minutes, hours and days in an Ada program? Standardize on internal representation of time as seconds (Float)? I will delay to use complex approaches for physical units. It is somewhere in my program natural/human to think in seconds whereas minutes or hours feels more natural at other places (so the numerics is "human"). Example to illustrate: heart rate is "natural" to give in number per minute (not in number per second, hour or day). Time on work is normally given by hours (not seconds) etc.. reinert ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Trivial question: how to avoid confusing sec, min, hour and day in a program? 2021-09-05 6:56 Trivial question: how to avoid confusing sec, min, hour and day in a program? reinert @ 2021-09-05 7:27 ` Dmitry A. Kazakov 2021-09-05 12:42 ` Niklas Holsti ` (2 more replies) 0 siblings, 3 replies; 17+ messages in thread From: Dmitry A. Kazakov @ 2021-09-05 7:27 UTC (permalink / raw) On 2021-09-05 08:56, reinert wrote: > Anybody with good ideas on how (in a simplest possible way) to avoid to confuse between representation of time as seconds, minutes, hours and days in an Ada program? Just use the standard type Duration. > It is somewhere in my program natural/human to think in seconds whereas minutes or hours feels more natural at other places (so the numerics is "human"). Example to illustrate: heart rate is "natural" to give in number per minute (not in number per second, hour or day). Time on work is normally given by hours (not seconds) etc.. The user interface is responsible to convert anything to Duration and back. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Trivial question: how to avoid confusing sec, min, hour and day in a program? 2021-09-05 7:27 ` Dmitry A. Kazakov @ 2021-09-05 12:42 ` Niklas Holsti 2021-09-06 7:20 ` ldries46 2021-10-24 6:52 ` reinert 2 siblings, 0 replies; 17+ messages in thread From: Niklas Holsti @ 2021-09-05 12:42 UTC (permalink / raw) On 2021-09-05 10:27, Dmitry A. Kazakov wrote: > On 2021-09-05 08:56, reinert wrote: >> Anybody with good ideas on how (in a simplest possible way) to avoid >> to confuse between representation of time as seconds, minutes, hours >> and days in an Ada program? > > Just use the standard type Duration. But note that: - Duration is a fixed-point type, not floating point, so it has a fixed resolution, Duration'Small. - The resolution and range of Duration are implementation-defined, and the standard does not guarantee much. RM 9.6(27) says: "The implementation of the type Duration shall allow representation of time intervals (both positive and negative) up to at least 86400 seconds (one day); Duration'Small shall not be greater than twenty milliseconds." (Aside: I wonder why this paragraph is not in RM A.1, "The Package Standard", where the Duration type is introduced.) If you want your code to be portable, define your own type for "time in seconds", choosing the properties your application needs. That said, I believe that GNAT versions typically provide a 64-bit Duration type that has enough precision and range for most applications dealing with times on human scales. But perhaps not on nuclear, geological or astrophysical scales. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Trivial question: how to avoid confusing sec, min, hour and day in a program? 2021-09-05 7:27 ` Dmitry A. Kazakov 2021-09-05 12:42 ` Niklas Holsti @ 2021-09-06 7:20 ` ldries46 2021-09-06 9:47 ` Dmitry A. Kazakov 2021-09-08 22:00 ` Shark8 2021-10-24 6:52 ` reinert 2 siblings, 2 replies; 17+ messages in thread From: ldries46 @ 2021-09-06 7:20 UTC (permalink / raw) Op 5-9-2021 om 9:27 schreef Dmitry A. Kazakov: > On 2021-09-05 08:56, reinert wrote: >> Anybody with good ideas on how (in a simplest possible way) to avoid >> to confuse between representation of time as seconds, minutes, hours >> and days in an Ada program? > > Just use the standard type Duration. > >> It is somewhere in my program natural/human to think in seconds >> whereas minutes or hours feels more natural at other places (so the >> numerics is "human"). Example to illustrate: heart rate is "natural" >> to give in number per minute (not in number per second, hour or day). >> Time on work is normally given by hours (not seconds) etc.. > > The user interface is responsible to convert anything to Duration and > back. > I agree with Dimitry but I think the problem is far bigger and not only in Ada but in every computer language. You cannot use packages written by others if you do not know the dimensions they use. For instance in mechanical engineering in Europe there is a general use of cm while in other countries they use inches and in aircraft engineering they use in Europe mostly mm. In general the use of dimensioning system ( f.i. cgs -cm gram second) is different for different countries and application area's. Some factors used within calculations are even dependant in the dimensioning system. It would be a good idea if a package was developed that can solve all these problems for instance by doing the calculations in one of the possible dimensioning systems automagically presenting the results in the dimension you choose. Such a system must exist of a record for every value, that exist of at least real values for the standard dimensioning system and the value in the dimensioning system you want, the factor between the two systems and the string containing the dimension, perhaps even more. There should be functions for "+", "-", "*", "/" and sqrt. The calculation should be done for the value in the standard dimension while the input and output must be in the wanted system. Also the strings and factors must be changed when necessary. I have already been thinking how but the problem are mostly in the strings and the fact that there are also dimensions that have a lower limit (temperature) or have an offset (degrees Celcius, Reamur or Fahrenheit) or exist of several integer values (time). I think that the potential of Ada of being independent of an operating system can be extended that way to independent of the dimensioning system. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Trivial question: how to avoid confusing sec, min, hour and day in a program? 2021-09-06 7:20 ` ldries46 @ 2021-09-06 9:47 ` Dmitry A. Kazakov 2021-09-06 13:06 ` ldries46 2021-09-06 15:55 ` AdaMagica 2021-09-08 22:00 ` Shark8 1 sibling, 2 replies; 17+ messages in thread From: Dmitry A. Kazakov @ 2021-09-06 9:47 UTC (permalink / raw) On 2021-09-06 09:20, ldries46 wrote: > Op 5-9-2021 om 9:27 schreef Dmitry A. Kazakov: >> On 2021-09-05 08:56, reinert wrote: >>> Anybody with good ideas on how (in a simplest possible way) to avoid >>> to confuse between representation of time as seconds, minutes, hours >>> and days in an Ada program? >> >> Just use the standard type Duration. >> >>> It is somewhere in my program natural/human to think in seconds >>> whereas minutes or hours feels more natural at other places (so the >>> numerics is "human"). Example to illustrate: heart rate is "natural" >>> to give in number per minute (not in number per second, hour or day). >>> Time on work is normally given by hours (not seconds) etc.. >> >> The user interface is responsible to convert anything to Duration and >> back. >> > I agree with Dimitry but I think the problem is far bigger and not only > in Ada but in every computer language. You cannot use packages written > by others if you do not know the dimensions they use. For instance in > mechanical engineering in Europe there is a general use of cm while in > other countries they use inches and in aircraft engineering they use in > Europe mostly mm. Why do you need that? If written in Ada, the value is of some separate numeric type you could not mix with other types. > In general the use of dimensioning system ( f.i. cgs -cm gram second) is > different for different countries and application area's. Some factors > used within calculations are even dependant in the dimensioning system. > It would be a good idea if a package was developed that can solve all > these problems for instance by doing the calculations in one of the > possible dimensioning systems automagically presenting the results in > the dimension you choose. If calculations are involved, they are performed in SI, because otherwise you need factors in all formulae. And SI means no mm, but m, no km/h, but m/s etc. > Such a system must exist of a record for every value, that exist of at > least real values for the standard dimensioning system and the value in > the dimensioning system you want, the factor between the two systems and > the string containing the dimension, perhaps even more. > There should be functions for "+", "-", "*", "/" and sqrt. http://www.dmitry-kazakov.de/ada/units.htm -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Trivial question: how to avoid confusing sec, min, hour and day in a program? 2021-09-06 9:47 ` Dmitry A. Kazakov @ 2021-09-06 13:06 ` ldries46 2021-09-06 13:43 ` J-P. Rosen 2021-09-06 15:55 ` AdaMagica 1 sibling, 1 reply; 17+ messages in thread From: ldries46 @ 2021-09-06 13:06 UTC (permalink / raw) Op 6-9-2021 om 11:47 schreef Dmitry A. Kazakov: > On 2021-09-06 09:20, ldries46 wrote: >> Op 5-9-2021 om 9:27 schreef Dmitry A. Kazakov: >>> On 2021-09-05 08:56, reinert wrote: >>>> Anybody with good ideas on how (in a simplest possible way) to >>>> avoid to confuse between representation of time as seconds, >>>> minutes, hours and days in an Ada program? >>> >>> Just use the standard type Duration. >>> >>>> It is somewhere in my program natural/human to think in seconds >>>> whereas minutes or hours feels more natural at other places (so >>>> the numerics is "human"). Example to illustrate: heart rate is >>>> "natural" to give in number per minute (not in number per second, >>>> hour or day). Time on work is normally given by hours (not seconds) >>>> etc.. >>> >>> The user interface is responsible to convert anything to Duration >>> and back. >>> >> I agree with Dimitry but I think the problem is far bigger and not >> only in Ada but in every computer language. You cannot use packages >> written by others if you do not know the dimensions they use. For >> instance in mechanical engineering in Europe there is a general use >> of cm while in other countries they use inches and in aircraft >> engineering they use in Europe mostly mm. > > Why do you need that? If written in Ada, the value is of some separate > numeric type you could not mix with other types. I do need that because you can use the same packages in different trades. If you want to calculate the inertia of a construction dependent on the location or the trade you are working in you use different dimension systems. Indeed you can use SI but most mechanical engineers use the cm as a basic unit while aeronautical engineers use the mm as there basic unit and the result differ with 4 zero's. In the USA they probably use inches which differ some incredible factors. if an American uses a European standard HE100 element in his calculations he has first to recalculate all inertia values. This will lead to greater error possibilities. > >> In general the use of dimensioning system ( f.i. cgs -cm gram second) >> is different for different countries and application area's. Some >> factors used within calculations are even dependant in the >> dimensioning system. >> It would be a good idea if a package was developed that can solve all >> these problems for instance by doing the calculations in one of the >> possible dimensioning systems automagically presenting the results in >> the dimension you choose. > > If calculations are involved, they are performed in SI, because > otherwise you need factors in all formulae. And SI means no mm, but m, > no km/h, but m/s etc. Sorry but It should perhaps be so but it is not. Programs made primarily for Aircraft engineering (f.i. CATIA 5/6) do use mm and your velocity clock in your car shows km/h and it registers the distance in km (in England and the USA mph and miles) In aircraft the Speed is often still measured in Knots (Nautical miles per hour). Maybe French aircraft will possibly show km/h. It is to hazardous to change this > > >> Such a system must exist of a record for every value, that exist of >> at least real values for the standard dimensioning system and the >> value in the dimensioning system you want, the factor between the two >> systems and the string containing the dimension, perhaps even more. >> There should be functions for "+", "-", "*", "/" and sqrt. > > http://www.dmitry-kazakov.de/ada/units.htm > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Trivial question: how to avoid confusing sec, min, hour and day in a program? 2021-09-06 13:06 ` ldries46 @ 2021-09-06 13:43 ` J-P. Rosen 2021-09-06 14:13 ` ldries46 0 siblings, 1 reply; 17+ messages in thread From: J-P. Rosen @ 2021-09-06 13:43 UTC (permalink / raw) Le 06/09/2021 à 15:06, ldries46 a écrit : >> If calculations are involved, they are performed in SI, because >> otherwise you need factors in all formulae. And SI means no mm, but m, >> no km/h, but m/s etc. > Sorry but It should perhaps be so but it is not. Programs made primarily > for Aircraft engineering (f.i. CATIA 5/6) do use mm and your velocity > clock in your car shows km/h and it registers the distance in km (in > England and the USA mph and miles) In aircraft the Speed is often still > measured in Knots (Nautical miles per hour). Maybe French aircraft will > possibly show km/h. It is to hazardous to change this Do not confuse computations with input/output. I agree with Dmitry, all computations should be performed in SI, with a (user selectable) choice of units for input and display. -- J-P. Rosen Adalog 2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX Tel: +33 1 45 29 21 52 https://www.adalog.fr ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Trivial question: how to avoid confusing sec, min, hour and day in a program? 2021-09-06 13:43 ` J-P. Rosen @ 2021-09-06 14:13 ` ldries46 2021-09-06 15:10 ` Dennis Lee Bieber 0 siblings, 1 reply; 17+ messages in thread From: ldries46 @ 2021-09-06 14:13 UTC (permalink / raw) Op 6-9-2021 om 15:43 schreef J-P. Rosen: > Le 06/09/2021 à 15:06, ldries46 a écrit : >>> If calculations are involved, they are performed in SI, because >>> otherwise you need factors in all formulae. And SI means no mm, but >>> m, no km/h, but m/s etc. >> Sorry but It should perhaps be so but it is not. Programs made >> primarily for Aircraft engineering (f.i. CATIA 5/6) do use mm and >> your velocity clock in your car shows km/h and it registers the >> distance in km (in England and the USA mph and miles) In aircraft the >> Speed is often still measured in Knots (Nautical miles per hour). >> Maybe French aircraft will possibly show km/h. It is to hazardous to >> change this > > Do not confuse computations with input/output. I agree with Dmitry, > all computations should be performed in SI, with a (user selectable) > choice of units for input and display. > What I tried to say is just what J-P Rosen says. But in my experience (41 years in aircraft engineering) that is not so, every time you have to realise what the system your working with and you are forced to even use systems parallel. One of the points I made the mechanical engineering which often uses cm has standard profiles using mm HE110B is 100mm high. That is the reason that I ask for a package which solves this problem for once and always and still gives the user the possibility to use all kind of dimesions ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Trivial question: how to avoid confusing sec, min, hour and day in a program? 2021-09-06 14:13 ` ldries46 @ 2021-09-06 15:10 ` Dennis Lee Bieber 0 siblings, 0 replies; 17+ messages in thread From: Dennis Lee Bieber @ 2021-09-06 15:10 UTC (permalink / raw) On Mon, 6 Sep 2021 16:13:36 +0200, ldries46 <bertus.dries@planet.nl> declaimed the following: >100mm high. That is the reason that I ask for a package which solves >this problem for once and always and still gives the user the >possibility to use all kind of dimesions So... a reimplementation of the HP-48 UNITS module... Which requires all values to have a unit designation attached (eg: 1.6_km) and internally probably tracks the input unit but converts to base (SI) units for computations, then remaps to user input units for display. -- Wulfraed Dennis Lee Bieber AF6VN wlfraed@ix.netcom.com http://wlfraed.microdiversity.freeddns.org/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Trivial question: how to avoid confusing sec, min, hour and day in a program? 2021-09-06 9:47 ` Dmitry A. Kazakov 2021-09-06 13:06 ` ldries46 @ 2021-09-06 15:55 ` AdaMagica 1 sibling, 0 replies; 17+ messages in thread From: AdaMagica @ 2021-09-06 15:55 UTC (permalink / raw) Dmitry A. Kazakov schrieb am Montag, 6. September 2021 um 11:47:54 UTC+2: > http://www.dmitry-kazakov.de/ada/units.htm http://archive.adaic.com/tools/CKWG/Dimension/Dimension.html You might try to improve one of those packages for your needs. Don't know what HE110B is. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Trivial question: how to avoid confusing sec, min, hour and day in a program? 2021-09-06 7:20 ` ldries46 2021-09-06 9:47 ` Dmitry A. Kazakov @ 2021-09-08 22:00 ` Shark8 1 sibling, 0 replies; 17+ messages in thread From: Shark8 @ 2021-09-08 22:00 UTC (permalink / raw) On Monday, September 6, 2021 at 1:22:03 AM UTC-6, ldries46 wrote: > It would be a good idea if a package was developed that can solve all > these problems for instance by doing the calculations in one of the > possible dimensioning systems automagically presenting the results in > the dimension you choose. There's this package[-set] -- http://archive.adaic.com/tools/CKWG/Dimension/SI.html which is really pretty nice, and addresses the concern. > I have already been thinking how but the problem are mostly in the strings Strings are terrible, avoid thinking in strings; be about the data first and foremost. Strings should, inasmuch as possible, be used only in your UI; e.g. given a MVC structure only the VIEW should deal with Strings. > I think that the potential of Ada of being independent of an operating > system can be extended that way to independent of the dimensioning system. Possibly, the problem is addressed interestingly in VHDL via "physical units" where you can define a type and then use units with a conversion factor. Example: Type Avoirdupois_Weight is range 0 to 1E9 units Grain; Dram = 27.34375 Grain; Ounce = 16.0 Dram; Pound = 16.0 Ounce; Ton = 2_000.0 Pound end units Avoirdupois_Weight; ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Trivial question: how to avoid confusing sec, min, hour and day in a program? 2021-09-05 7:27 ` Dmitry A. Kazakov 2021-09-05 12:42 ` Niklas Holsti 2021-09-06 7:20 ` ldries46 @ 2021-10-24 6:52 ` reinert 2021-10-24 7:24 ` J-P. Rosen ` (3 more replies) 2 siblings, 4 replies; 17+ messages in thread From: reinert @ 2021-10-24 6:52 UTC (permalink / raw) Ada seems to guarantee that Duration covers 24 hours (?). What you do when you need to represent for example 5 years? reinert søndag 5. september 2021 kl. 09:27:41 UTC+2 skrev Dmitry A. Kazakov: > On 2021-09-05 08:56, reinert wrote: > > Anybody with good ideas on how (in a simplest possible way) to avoid to confuse between representation of time as seconds, minutes, hours and days in an Ada program? > Just use the standard type Duration. > > It is somewhere in my program natural/human to think in seconds whereas minutes or hours feels more natural at other places (so the numerics is "human"). Example to illustrate: heart rate is "natural" to give in number per minute (not in number per second, hour or day). Time on work is normally given by hours (not seconds) etc.. > The user interface is responsible to convert anything to Duration and back. > > -- > Regards, > Dmitry A. Kazakov > http://www.dmitry-kazakov.de ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Trivial question: how to avoid confusing sec, min, hour and day in a program? 2021-10-24 6:52 ` reinert @ 2021-10-24 7:24 ` J-P. Rosen 2021-10-24 10:39 ` Jeffrey R.Carter 2021-10-24 10:08 ` G.B. ` (2 subsequent siblings) 3 siblings, 1 reply; 17+ messages in thread From: J-P. Rosen @ 2021-10-24 7:24 UTC (permalink / raw) Le 24/10/2021 à 08:52, reinert a écrit : > Ada seems to guarantee that Duration covers 24 hours (?). What you do when you need to represent for example 5 years? Ada /guarantees/ at least 24 hours, since subtype Day_Duration corresponds to one day. In practice, Duration is much bigger. There is no requirement for it, since it obviously depends on the implementation. With Gnat, the following program: with Text_Io; use Text_Io; procedure Test_Duration is package Duration_Io is new Fixed_Io (Duration); use Duration_Io; begin null; Put ("duration'last:"); Put (Duration'Last); New_Line; Put ("days:") ; Put (Duration'Last / 86400); New_Line; Put ("years:") ; Put (Duration'Last / 86400 / 365.25); New_Line; end; gives: duration'last: 9223372036.854775807 days: 106751.991167300 years: 292.271023045 -- J-P. Rosen Adalog 2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX Tel: +33 1 45 29 21 52 https://www.adalog.fr ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Trivial question: how to avoid confusing sec, min, hour and day in a program? 2021-10-24 7:24 ` J-P. Rosen @ 2021-10-24 10:39 ` Jeffrey R.Carter 0 siblings, 0 replies; 17+ messages in thread From: Jeffrey R.Carter @ 2021-10-24 10:39 UTC (permalink / raw) On 10/24/21 09:24, J-P. Rosen wrote: > > Put ("years:") ; Put (Duration'Last / 86400 / 365.25); New_Line; Still using the Julian calendar? In the Common calendar, the average length of a year is 365.2425 days (97 leap years every 400 years). > years: 292.271023045 Should be 292.277024627 -- Jeff Carter "Any extraterrestrials reported are always described as essentially human in form, which is so unlikely a possibility that we can dismiss it out of hand." Extraterrestrial Civilizations 168 ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Trivial question: how to avoid confusing sec, min, hour and day in a program? 2021-10-24 6:52 ` reinert 2021-10-24 7:24 ` J-P. Rosen @ 2021-10-24 10:08 ` G.B. 2021-10-24 10:48 ` Simon Wright 2021-10-24 12:09 ` Björn Lundin 3 siblings, 0 replies; 17+ messages in thread From: G.B. @ 2021-10-24 10:08 UTC (permalink / raw) On 24.10.21 08:52, reinert wrote: > Ada seems to guarantee that Duration covers 24 hours (?). What you do when you need to represent for example 5 years? The computing apparatus running the program might not always be on. "Always" is a reference to real time. So when it's turned off, a duration object in the program would incur lost time. So, some form of persistent storage is needed. I'd use values of types that allow computing offsets in time. Store these every now and then, e.g., as representing time passed. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Trivial question: how to avoid confusing sec, min, hour and day in a program? 2021-10-24 6:52 ` reinert 2021-10-24 7:24 ` J-P. Rosen 2021-10-24 10:08 ` G.B. @ 2021-10-24 10:48 ` Simon Wright 2021-10-24 12:09 ` Björn Lundin 3 siblings, 0 replies; 17+ messages in thread From: Simon Wright @ 2021-10-24 10:48 UTC (permalink / raw) reinert <reinkor@gmail.com> writes: > Ada seems to guarantee that Duration covers 24 hours (?). What you do > when you need to represent for example 5 years? This must depend on your use case. I'd imagine you want to arrange for some event to happen 5 years in the future. The 'natural' way to do this might be, in a task, delay until Ada.Calendar.Clock + Duration'({5 years}); but this comes up against two problems: first, as you note, that long a duration might not work, and second, the computer is almost certain to have been restarted by then, losing this task. The second problem could be solved by, e.g., keeping a backed-up time-ordered queue of events to be processed, with a task that delays until the next event is due. As for the first -- I think you may need to make an appropriate Duration'Last part of your compiler selection criteria. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Trivial question: how to avoid confusing sec, min, hour and day in a program? 2021-10-24 6:52 ` reinert ` (2 preceding siblings ...) 2021-10-24 10:48 ` Simon Wright @ 2021-10-24 12:09 ` Björn Lundin 3 siblings, 0 replies; 17+ messages in thread From: Björn Lundin @ 2021-10-24 12:09 UTC (permalink / raw) Den 2021-10-24 kl. 08:52, skrev reinert: > Ada seems to guarantee that Duration covers 24 hours (?). What you do when you need to represent for example 5 years? we use a types of our own at work subtype Year_Type is Integer_2 range 1901 .. 2099; subtype Month_Type is Integer_2 range 01 .. 12; subtype Day_Type is Integer_2 range 01 .. 31; subtype Hour_Type is Integer_2 range 00 .. 23; subtype Minute_Type is Integer_2 range 00 .. 59; subtype Second_Type is Integer_2 range 00 .. 59; subtype Millisecond_Type is Integer_2 range 000 .. 999; subtype Week_Type is Integer_2 range 1 .. 53; subtype Year_Day_Type is Integer_2 range 1 .. 366; type Week_Day_Type is ( Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday); subtype Interval_Day_Type is Integer_4 range 0 .. Integer_4'Last; subtype Seconds_Type is Integer_4 range 0 .. Integer_4'Last; type Time_Type is tagged record Year : Year_Type; Month : Month_Type; Day : Day_Type; Hour : Hour_Type; Minute : Minute_Type; Second : Second_Type; Millisecond : Millisecond_Type; end record; and type Interval_Type is tagged record Days : Interval_Day_Type; Hours : Hour_Type; Minutes : Minute_Type; Seconds : Second_Type; Milliseconds : Millisecond_Type; end record; with functions and conversion to handle "+" "-" and some more ( Time - Time results in duration) we have a limited need of dates from the past and into the future, and ms is usually enough granularity. (This was designed in the late 80:ies but still usefull) This is to cover the needs of our administrative system >> The user interface is responsible to convert anything to Duration and back. >> >> -- >> Regards, >> Dmitry A. Kazakov >> http://www.dmitry-kazakov.de and Dmitry is right in saying the user interface should convert to the units the user likes -- Björn ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2021-10-24 12:09 UTC | newest] Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-09-05 6:56 Trivial question: how to avoid confusing sec, min, hour and day in a program? reinert 2021-09-05 7:27 ` Dmitry A. Kazakov 2021-09-05 12:42 ` Niklas Holsti 2021-09-06 7:20 ` ldries46 2021-09-06 9:47 ` Dmitry A. Kazakov 2021-09-06 13:06 ` ldries46 2021-09-06 13:43 ` J-P. Rosen 2021-09-06 14:13 ` ldries46 2021-09-06 15:10 ` Dennis Lee Bieber 2021-09-06 15:55 ` AdaMagica 2021-09-08 22:00 ` Shark8 2021-10-24 6:52 ` reinert 2021-10-24 7:24 ` J-P. Rosen 2021-10-24 10:39 ` Jeffrey R.Carter 2021-10-24 10:08 ` G.B. 2021-10-24 10:48 ` Simon Wright 2021-10-24 12:09 ` Björn Lundin
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox