comp.lang.ada
 help / color / mirror / Atom feed
* FILETIME <-> Ada.Real_Time.Time conversions
@ 2001-12-18 12:53 Dmitry A. Kazakov
  2001-12-19  9:02 ` Alfred Hilscher
  0 siblings, 1 reply; 16+ messages in thread
From: Dmitry A. Kazakov @ 2001-12-18 12:53 UTC (permalink / raw)


Hi!

Is there a portable non-statistical way to implement FILETIME* (or any
other absolute time) <-> Ada.Real_Time.Time conversions?

Regards,
Dmitry Kazakov

* FILETIME (Win32) is 100-nanosecond count (64-bit) since January 1,
1601.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: FILETIME <-> Ada.Real_Time.Time conversions
  2001-12-18 12:53 FILETIME <-> Ada.Real_Time.Time conversions Dmitry A. Kazakov
@ 2001-12-19  9:02 ` Alfred Hilscher
  2001-12-19 13:37   ` Dmitry A. Kazakov
  0 siblings, 1 reply; 16+ messages in thread
From: Alfred Hilscher @ 2001-12-19  9:02 UTC (permalink / raw)


On WinXX I would first convert FileTime to SystemTime (which is more
appropriate).

BOOL FileTimeToSystemTime(

    CONST FILETIME *  lpFileTime,	// pointer to file time to convert 
    LPSYSTEMTIME  lpSystemTime 	// pointer to structure to receive
system time  
   );	


"Dmitry A. Kazakov" wrote:
> 
> Hi!
> 
> Is there a portable non-statistical way to implement FILETIME* (or any
> other absolute time) <-> Ada.Real_Time.Time conversions?
> 
> Regards,
> Dmitry Kazakov
> 
> * FILETIME (Win32) is 100-nanosecond count (64-bit) since January 1,
> 1601.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: FILETIME <-> Ada.Real_Time.Time conversions
  2001-12-19  9:02 ` Alfred Hilscher
@ 2001-12-19 13:37   ` Dmitry A. Kazakov
  2001-12-19 15:06     ` Steve Doiel
  0 siblings, 1 reply; 16+ messages in thread
From: Dmitry A. Kazakov @ 2001-12-19 13:37 UTC (permalink / raw)


On Wed, 19 Dec 2001 10:02:39 +0100, Alfred Hilscher
<Alfred.Hilscher@icn.siemens.de> wrote:

>On WinXX I would first convert FileTime to SystemTime (which is more
>appropriate).
>
>BOOL FileTimeToSystemTime(
>
>    CONST FILETIME *  lpFileTime,	// pointer to file time to convert 
>    LPSYSTEMTIME  lpSystemTime 	// pointer to structure to receive
>system time  
>   );	

Actually FILETIME [UTC] format is used in a communication protocol to
represent time-stamps. Win32 SYSTEMTIME is rougly same though with
great precision loss, because its resolution is 1ms.

It seems that under Win32 there is no way to convert FILETIME to the
high-resolution monotonic time (performance counters) . Therefore a
complicated statistical algorithm was implemented to convert FILETIME
to performance counters (in C++). This way is well possible, but time
consuming, unreliable and of course depends on Win32 API.

Presently parts of the system are under implementation in Ada 95 *not*
under Win32. There is no designated platform. It should be portable.
So the question reappears. It is relatively easy to convert FILETIME
to Ada.Calendar.Time provided that Ada.Calendar.Split and Time_Of are
dealing with UTC [??]. Yet there is a hint in Ada Rationale that
Ada.Calendar.Time might suffer jumps because of daylight savings
[shudder]. At the same time, it seems that Ada.Real_Time.Time was very
carefully designed to prevent any attempt to correlate it with any
external clock [??]. So the problem.

Regards,
Dmitry Kazakov



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: FILETIME <-> Ada.Real_Time.Time conversions
  2001-12-19 13:37   ` Dmitry A. Kazakov
@ 2001-12-19 15:06     ` Steve Doiel
  2001-12-20 11:27       ` M. A. Alves
  2001-12-20 15:10       ` Dmitry A. Kazakov
  0 siblings, 2 replies; 16+ messages in thread
From: Steve Doiel @ 2001-12-19 15:06 UTC (permalink / raw)


I chose the same format for sending our time stamps across a network to
various machines.  Currently these values are only decoded on Win32 PC's.

It may be useful for you to know that VAX ELN (maybe VMS as well?) uses a
similar time stamp.  The only difference is the time and date corresponding
to zero.

Also note: it may not be possible (read probably isn't) to represent all
values of FILETIME as a Ada.Real_Time.Time value since the size of the
values may differ.  As I recall the resolution of time in Ada.Real_Time is
not specified, but a minimum resolution and range is.

SteveD

"Dmitry A. Kazakov" <dmitry@elros.cbb-automation.de> wrote in message
news:3c208dc5.16968437@News.CIS.DFN.DE...
[snip]
>
> Presently parts of the system are under implementation in Ada 95 *not*
> under Win32. There is no designated platform. It should be portable.
> So the question reappears. It is relatively easy to convert FILETIME
> to Ada.Calendar.Time provided that Ada.Calendar.Split and Time_Of are
> dealing with UTC [??]. Yet there is a hint in Ada Rationale that
> Ada.Calendar.Time might suffer jumps because of daylight savings
> [shudder]. At the same time, it seems that Ada.Real_Time.Time was very
> carefully designed to prevent any attempt to correlate it with any
> external clock [??]. So the problem.
>
> Regards,
> Dmitry Kazakov





^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: FILETIME <-> Ada.Real_Time.Time conversions
  2001-12-19 15:06     ` Steve Doiel
@ 2001-12-20 11:27       ` M. A. Alves
  2001-12-20 15:10       ` Dmitry A. Kazakov
  1 sibling, 0 replies; 16+ messages in thread
From: M. A. Alves @ 2001-12-20 11:27 UTC (permalink / raw)
  To: comp.lang.ada

On Wed, 19 Dec 2001, Steve Doiel wrote:
> . . . it may not be possible (read probably isn't) to represent all
> values of FILETIME as a Ada.Real_Time.Time . . .

Indeed:

         | Range                               | Delta              |
         |-------------------------------------|--------------------|
FILETIME | 1600-01-01 .. (very distant future) | 100 nanoseconds    |
Ada Time | 1901-01-01 .. 2100-12-2099          | 20 miliseconds (*) |

(*) "Shall" spec. "Should" is 100 microseconds.

It definitely not possible to timestamp medieval objects with Ada Time ;-)

-- 
   ,
 M A R I O   data miner, LIACC, room 221   tel 351+226078830, ext 121
 A M A D O   Rua Campo Alegre, 823         fax 351+226003654
 A L V E S   P-4150-180 PORTO, Portugal    mob 351+939354002





^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: FILETIME <-> Ada.Real_Time.Time conversions
  2001-12-19 15:06     ` Steve Doiel
  2001-12-20 11:27       ` M. A. Alves
@ 2001-12-20 15:10       ` Dmitry A. Kazakov
  2001-12-21  3:13         ` Steve Doiel
  2001-12-21  6:17         ` tmoran
  1 sibling, 2 replies; 16+ messages in thread
From: Dmitry A. Kazakov @ 2001-12-20 15:10 UTC (permalink / raw)


On Wed, 19 Dec 2001 15:06:18 GMT, "Steve Doiel"
<nospam_steved94@attbi.com> wrote:

>I chose the same format for sending our time stamps across a network to
>various machines.  Currently these values are only decoded on Win32 PC's.
>
>It may be useful for you to know that VAX ELN (maybe VMS as well?) uses a
>similar time stamp.  The only difference is the time and date corresponding
>to zero.
>
>Also note: it may not be possible (read probably isn't) to represent all
>values of FILETIME as a Ada.Real_Time.Time value since the size of the
>values may differ.  As I recall the resolution of time in Ada.Real_Time is
>not specified, but a minimum resolution and range is.

We can definitely live with smaller range and/or precision. The real
problem is that there is no correlation between epoch of
Ada.Real_Time.Split and UTC.

Regards,
Dmitry Kazakov



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: FILETIME <-> Ada.Real_Time.Time conversions
  2001-12-20 15:10       ` Dmitry A. Kazakov
@ 2001-12-21  3:13         ` Steve Doiel
  2001-12-21 10:26           ` Dmitry A. Kazakov
  2001-12-21  6:17         ` tmoran
  1 sibling, 1 reply; 16+ messages in thread
From: Steve Doiel @ 2001-12-21  3:13 UTC (permalink / raw)


> >Also note: it may not be possible (read probably isn't) to represent all
> >values of FILETIME as a Ada.Real_Time.Time value since the size of the
> >values may differ.  As I recall the resolution of time in Ada.Real_Time
is
> >not specified, but a minimum resolution and range is.
>
> We can definitely live with smaller range and/or precision. The real
> problem is that there is no correlation between epoch of
> Ada.Real_Time.Split and UTC.
>
> Regards,
> Dmitry Kazakov

Have you considered defining your own epoch in terms of both times?

You can determine the FILETIME value for your epoch using
SystemTimeToFileTime.  I'll call this file_time_epoch.  You only have to do
this once, then you can define the value as a program constant.

You can determine the Real_Time.Time value for your epoch using
Ada.Calendar.Time_Of.  I'll call this real_time_epoch.

To obtain a Real_Time.Time value from a subsequent FILETIME values use:

  real_time_value := real_time_epoch
                              + Ada.Real_Time.Nanoseconds( Integer(
file_time_value - file_time_epoch ) );

I'm sure you'll have to mess with the types to get things working, but I
think this will get you there.

SteveD






^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: FILETIME <-> Ada.Real_Time.Time conversions
  2001-12-20 15:10       ` Dmitry A. Kazakov
  2001-12-21  3:13         ` Steve Doiel
@ 2001-12-21  6:17         ` tmoran
  2001-12-21  8:51           ` Dmitry A. Kazakov
  1 sibling, 1 reply; 16+ messages in thread
From: tmoran @ 2001-12-21  6:17 UTC (permalink / raw)


> The real problem is that there is no correlation between epoch
> of Ada.Real_Time.Split and UTC.
  As I understand it, Ada.Real_Time basically tells you the
state of an increasing counter in your computer's hardware,
while UTC has to do with the position of the earth relative to
the sun.  A computer in a rocket passing Pluto cares about the
former, but not the latter, while a computer controlling
dropping the Times Square ball at New Year's Midnight cares
about UTC but not about its hardware counters.  Consider it
amazing that they correlate as highly as they do.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: FILETIME <-> Ada.Real_Time.Time conversions
  2001-12-21  6:17         ` tmoran
@ 2001-12-21  8:51           ` Dmitry A. Kazakov
  2001-12-21 18:17             ` tmoran
  0 siblings, 1 reply; 16+ messages in thread
From: Dmitry A. Kazakov @ 2001-12-21  8:51 UTC (permalink / raw)


On Fri, 21 Dec 2001 06:17:17 GMT, tmoran@acm.org wrote:

>> The real problem is that there is no correlation between epoch
>> of Ada.Real_Time.Split and UTC.
>  As I understand it, Ada.Real_Time basically tells you the
>state of an increasing counter in your computer's hardware,
>while UTC has to do with the position of the earth relative to
>the sun.  A computer in a rocket passing Pluto cares about the
>former, but not the latter, while a computer controlling
>dropping the Times Square ball at New Year's Midnight cares
>about UTC but not about its hardware counters.  Consider it
>amazing that they correlate as highly as they do.

Well, provided that the rocket has not yet reached sublight speed
(:-)) both UTC and hardware counter ticks are well correlated.

The problem is that. There are many computers (on Earth, which
relative velocities are near to zero (:-)), exchanging time-stamped
data. Any computer may have its own time synchronization source
(atomic clock, GPS etc). It is clear that the time stamps shall be in
UTC. Which time type in Ada 95 should represent the time stamps?

Ada.Calendar.Time is of no use, because it might be a political time.
Ada.Real_Time.Time is well correlated with UTC, but there is no way to
convert one to other.

Regards,
Dmitry Kazakov



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: FILETIME <-> Ada.Real_Time.Time conversions
  2001-12-21  3:13         ` Steve Doiel
@ 2001-12-21 10:26           ` Dmitry A. Kazakov
  2001-12-21 16:18             ` Steve Doiel
  0 siblings, 1 reply; 16+ messages in thread
From: Dmitry A. Kazakov @ 2001-12-21 10:26 UTC (permalink / raw)


On Fri, 21 Dec 2001 03:13:37 GMT, "Steve Doiel"
<nospam_steved94@attbi.com> wrote:

>> >Also note: it may not be possible (read probably isn't) to represent all
>> >values of FILETIME as a Ada.Real_Time.Time value since the size of the
>> >values may differ.  As I recall the resolution of time in Ada.Real_Time
>is
>> >not specified, but a minimum resolution and range is.
>>
>> We can definitely live with smaller range and/or precision. The real
>> problem is that there is no correlation between epoch of
>> Ada.Real_Time.Split and UTC.
>>
>> Regards,
>> Dmitry Kazakov
>
>Have you considered defining your own epoch in terms of both times?
>
>You can determine the FILETIME value for your epoch using
>SystemTimeToFileTime.  I'll call this file_time_epoch.  You only have to do
>this once, then you can define the value as a program constant.

Yes, I already did it (:-)):

type FILETIME is new Interfaces.Unsigned_64;
Ticks_Of_1_Jan_2001 : constant FILETIME := 12622780800;

The rest is easy:

Ticks_Per_Second  : constant Float := 10_000_000.0;
Time_Of_1_Jan_2001 : constant Ada.Calendar.Time  :=
   Time_Of (2001, 1, 1);

function From_FILETIME (Time : FILETIME)
   return Ada.Calendar.Time
is
   Seconds : Float;
begin
   if Time > Ticks_Of_1_Jan_2001 then
      Seconds :=
         Float (Time - Ticks_Of_1_Jan_2001) / Ticks_Per_Second;
   else
      Seconds :=
        -Float (Ticks_Of_1_Jan_2001 - Time) / Ticks_Per_Second;
   end if;
   return Time_Of_1_Jan_2001 + Duration (Seconds);
exception
   when Constraint_Error =>
      raise Time_Error;
end From_FILETIME;

>You can determine the Real_Time.Time value for your epoch using
>Ada.Calendar.Time_Of.  I'll call this real_time_epoch.

How do I convert Ada.Calendar.Time to Ada.Real_Time.Time?

>To obtain a Real_Time.Time value from a subsequent FILETIME values use:
>
>  real_time_value := real_time_epoch
>                              + Ada.Real_Time.Nanoseconds( Integer(
>file_time_value - file_time_epoch ) );
>
>I'm sure you'll have to mess with the types to get things working, but I
>think this will get you there.

Regards,
Dmitry Kazakov



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: FILETIME <-> Ada.Real_Time.Time conversions
  2001-12-21 10:26           ` Dmitry A. Kazakov
@ 2001-12-21 16:18             ` Steve Doiel
  2001-12-24 18:02               ` Dmitry A. Kazakov
  0 siblings, 1 reply; 16+ messages in thread
From: Steve Doiel @ 2001-12-21 16:18 UTC (permalink / raw)


> >You can determine the Real_Time.Time value for your epoch using
> >Ada.Calendar.Time_Of.  I'll call this real_time_epoch.
>
> How do I convert Ada.Calendar.Time to Ada.Real_Time.Time?
>

In LRM D.8.18 (Ada.Real_Time) the definition of the type Time refers to 9.6
(Ada.Calendar).

I'm not sure whether this means that values of the two Time values
correlate, but the first time I read the clause I thought it did.  I know
you cannot directly convert from one to the other, but you may be able to
use Unchecked_Conversion.

Perhaps a language lawyer could provide a better answer here?

SteveD


> >To obtain a Real_Time.Time value from a subsequent FILETIME values use:
> >
> >  real_time_value := real_time_epoch
> >                              + Ada.Real_Time.Nanoseconds( Integer(
> >file_time_value - file_time_epoch ) );
> >
> >I'm sure you'll have to mess with the types to get things working, but I
> >think this will get you there.
>
> Regards,
> Dmitry Kazakov





^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: FILETIME <-> Ada.Real_Time.Time conversions
  2001-12-21  8:51           ` Dmitry A. Kazakov
@ 2001-12-21 18:17             ` tmoran
  2001-12-24 15:59               ` Dmitry A. Kazakov
  0 siblings, 1 reply; 16+ messages in thread
From: tmoran @ 2001-12-21 18:17 UTC (permalink / raw)


> It is clear that the time stamps shall be in UTC.
Hardly, because
> Ada.Calendar.Time is of no use, because it might be a political time.
  If the distributed machines want to know what their compatriots
think the time is, they need to get synchronized (periodically) and
then use their change in Ada.Real_Time.Clock to estimate the change
in other machines' Ada.Real_Time.Clock  UTC time is irrelevant.
  You and I could both note what our watches say when the ball
drops in NY Times Square when they celebrate New Years.  We can
both agree to do something when our watches say 180 days have passed.
Neither of us need worry about what the UTC time is when the ball
drops, or what it is 180 days later.

>Ada.Real_Time.Time is well correlated with UTC, but there is no way to
>convert one to other.
  Package Ada.Calendar does that all the time.  Inside the computer is
an electronic counter - an Ada.Real_Time kind of thing.  When you set
the time on your system, you are telling it that a counter value of
nnnn corresponds to a time of MM/DD/YY HH:MM:SS.ddd.  Given the
difference between that and any other counter value, the frequency of
the counter, and some political information about daylight savings
time, Ada.Calendar.Split does some divisions and mods by 60, 24, and
the number of days in various months in various years, and comes up
with the MM/DD/YY HH:MM:SS.DD corresponding to the new counter value.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: FILETIME <-> Ada.Real_Time.Time conversions
  2001-12-21 18:17             ` tmoran
@ 2001-12-24 15:59               ` Dmitry A. Kazakov
  2001-12-24 18:21                 ` tmoran
  0 siblings, 1 reply; 16+ messages in thread
From: Dmitry A. Kazakov @ 2001-12-24 15:59 UTC (permalink / raw)


On Fri, 21 Dec 2001 18:17:17 GMT, tmoran@acm.org wrote:

>> It is clear that the time stamps shall be in UTC.
>Hardly, because
>> Ada.Calendar.Time is of no use, because it might be a political time.
>  If the distributed machines want to know what their compatriots
>think the time is, they need to get synchronized (periodically) and
>then use their change in Ada.Real_Time.Clock to estimate the change
>in other machines' Ada.Real_Time.Clock  UTC time is irrelevant.

Our system allows many different scenarios. One of them is that both
participants have some sort of external clock available. It is also
well possible that they just cannot directly synchronize clocks
because the connection is too bad for this. In the cases like that
there must be an absolute time format for time stamps. UTC is a good
candidate for it. The result of Ada.Real_Time.Split could be also
acceptable *if* the epoch were fixed.

>  You and I could both note what our watches say when the ball
>drops in NY Times Square when they celebrate New Years.  We can
>both agree to do something when our watches say 180 days have passed.
>Neither of us need worry about what the UTC time is when the ball
>drops, or what it is 180 days later.

Yes, now let's imagine that the ball fell 1 Jan 1601 in Greenwich.
That would be UTC. The time base is irrelevant, but it must be one.

>>Ada.Real_Time.Time is well correlated with UTC, but there is no way to
>>convert one to other.
>  Package Ada.Calendar does that all the time.  Inside the computer is
>an electronic counter - an Ada.Real_Time kind of thing.  When you set
>the time on your system, you are telling it that a counter value of
>nnnn corresponds to a time of MM/DD/YY HH:MM:SS.ddd.  Given the
>difference between that and any other counter value, the frequency of
>the counter, and some political information about daylight savings
>time, Ada.Calendar.Split does some divisions and mods by 60, 24, and
>the number of days in various months in various years, and comes up
>with the MM/DD/YY HH:MM:SS.DD corresponding to the new counter value.

This is why Ada.Calendar.Time is of so little use. Its time base
depends on the place on Earth where the computer is currently located.
When Ada.Calendar.Split tells me MM/DD/YY HH:MM:SS.DD I still cannot
use this information without knowing the computer location and local
rules regarding time faking.

Regards,
Dmitry Kazakov




^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: FILETIME <-> Ada.Real_Time.Time conversions
  2001-12-21 16:18             ` Steve Doiel
@ 2001-12-24 18:02               ` Dmitry A. Kazakov
  0 siblings, 0 replies; 16+ messages in thread
From: Dmitry A. Kazakov @ 2001-12-24 18:02 UTC (permalink / raw)


On Fri, 21 Dec 2001 16:18:06 GMT, "Steve Doiel"
<nospam_steved94@attbi.com> wrote:

>> >You can determine the Real_Time.Time value for your epoch using
>> >Ada.Calendar.Time_Of.  I'll call this real_time_epoch.
>>
>> How do I convert Ada.Calendar.Time to Ada.Real_Time.Time?
>
>In LRM D.8.18 (Ada.Real_Time) the definition of the type Time refers to 9.6
>(Ada.Calendar).
>
>I'm not sure whether this means that values of the two Time values
>correlate, but the first time I read the clause I thought it did.  I know
>you cannot directly convert from one to the other, but you may be able to
>use Unchecked_Conversion.

Wow! It really works at least with GNAT. What a wonderful idea. Many
thanks!

The last problem is that Ada.Calendar.Time is a political time, so I
must somehow get rid of time zone.

>Perhaps a language lawyer could provide a better answer here?

Actually the issue belongs rather to the Annex E than to D, but I
found no word there.

Regards,
Dmitry Kazakov



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: FILETIME <-> Ada.Real_Time.Time conversions
  2001-12-24 15:59               ` Dmitry A. Kazakov
@ 2001-12-24 18:21                 ` tmoran
  2001-12-25 15:53                   ` Dmitry A. Kazakov
  0 siblings, 1 reply; 16+ messages in thread
From: tmoran @ 2001-12-24 18:21 UTC (permalink / raw)


>>>Ada.Real_Time.Time is well correlated with UTC, but there is no way to
>>>convert one to other.
>>  Package Ada.Calendar does that all the time.  Inside the computer is
>When Ada.Calendar.Split tells me MM/DD/YY HH:MM:SS.DD I still cannot
>use this information without knowing the computer location and local
>rules regarding time faking.
  Ada.Calendar did some transformation on the Ada.Real_Time counter to
get MM/DD...  and you want to invert that transformation, right?  But
it sounds to me like you have a computer which has been blindfolded
and taken to a secret location.  The only information it has is the
clock on the wall in its cell, and it wants to know what time it is
in Greenwich, England.  It either must communicate, but
> cannot directly synchronize clocks because the connection is too bad
or else it must somehow find out where (what time zone) it's in, but
>without knowing the computer location and local rules regarding time faking
Sounds impossible to me.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: FILETIME <-> Ada.Real_Time.Time conversions
  2001-12-24 18:21                 ` tmoran
@ 2001-12-25 15:53                   ` Dmitry A. Kazakov
  0 siblings, 0 replies; 16+ messages in thread
From: Dmitry A. Kazakov @ 2001-12-25 15:53 UTC (permalink / raw)


On Mon, 24 Dec 2001 18:21:36 GMT, tmoran@acm.org wrote:

>>>>Ada.Real_Time.Time is well correlated with UTC, but there is no way to
>>>>convert one to other.
>>>  Package Ada.Calendar does that all the time.  Inside the computer is
>>When Ada.Calendar.Split tells me MM/DD/YY HH:MM:SS.DD I still cannot
>>use this information without knowing the computer location and local
>>rules regarding time faking.
>  Ada.Calendar did some transformation on the Ada.Real_Time counter to
>get MM/DD...  and you want to invert that transformation, right?  But
>it sounds to me like you have a computer which has been blindfolded
>and taken to a secret location.  The only information it has is the
>clock on the wall in its cell, and it wants to know what time it is
>in Greenwich, England.  It either must communicate, but
>> cannot directly synchronize clocks because the connection is too bad
>or else it must somehow find out where (what time zone) it's in, but
>>without knowing the computer location and local rules regarding time faking
>Sounds impossible to me.

Imagine board computers of several cars, plus basis stations located
on Northern pole and Moon.

The point is that Ada.Calendar.Time has no sense without some
additional information, which might be (and is) unavailable. Are you
really sure that an implementation of Ada.Calendar can foresee all
bureaucratic fancies all over the world for a some valued period of
time? Consider a consistent implementation of it for the time period
1951..2051.

It is obvious that Ada.Calendar.Time is unusable for time stamps of
any sort. [Of course it does not mean that there should be no
Ada.Calendar.Time] Time stamps must be an absolute time [of the chosen
coordinate system]. Whether it is an astronomical, greenwich or
whatsoever time is no matter, as long the time base is specified.

Regards,
Dmitry Kazakov



^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2001-12-25 15:53 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-12-18 12:53 FILETIME <-> Ada.Real_Time.Time conversions Dmitry A. Kazakov
2001-12-19  9:02 ` Alfred Hilscher
2001-12-19 13:37   ` Dmitry A. Kazakov
2001-12-19 15:06     ` Steve Doiel
2001-12-20 11:27       ` M. A. Alves
2001-12-20 15:10       ` Dmitry A. Kazakov
2001-12-21  3:13         ` Steve Doiel
2001-12-21 10:26           ` Dmitry A. Kazakov
2001-12-21 16:18             ` Steve Doiel
2001-12-24 18:02               ` Dmitry A. Kazakov
2001-12-21  6:17         ` tmoran
2001-12-21  8:51           ` Dmitry A. Kazakov
2001-12-21 18:17             ` tmoran
2001-12-24 15:59               ` Dmitry A. Kazakov
2001-12-24 18:21                 ` tmoran
2001-12-25 15:53                   ` Dmitry A. Kazakov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox