In g5 database, "legal time" means "the time that can be read on the birth certificate".
Abbreviations used in this page:
- LT = legal time
- TZO = timezone offset
- UT = universal time
Timezone computation
The purpose is to identify persons born during wars for example, cases needing humans to find the correct timezone offet.Current problem is to build rules from 3 sources:
| OL | Olson database |
| FG | "Problèmes de l'heure résolus pour le monde entier" (Françoise Gauquelin, Guy Trédaniel éditeur), 1991 |
| THM | "Traité de l'heure dans le monde", (Gabriel, Guy Trédaniel éditeur), 5th edition, 1990 |
Olson database
IANA Time Zone Database aka Olson database is the reference timezone data used by most programming languages.For each country, it provides timezones = list of couples (date, timezone offset).
At a given date, there is one offset for the whole country, this doesn't handle war periods when one country is split in different timezone regimes.
In g5 code, limit dates given by Olson are used as departure values for the code, then conflicts between FG and THM are attached to a Olson date.
Format used in g5
In g5 database, dates are stored using 2 distinct fields :-
One field to store date and time if present.
It respects ISO 8601 format and can be one of :-
YYYY-MM-DD HH:MM:SSif time is known with precision of a second - ex:1982-08-23 23:31:20 -
YYYY-MM-DD HH:MMif time is known with precision of a minute - ex:1928-11-13 22:15 -
YYYY-MM-DDif time is not known - ex:1928-03-28
-
-
One field to store timezone offset.
The format can be :sHH:MMwhen precision of a minute is sufficient - ex:+01:00or-01:00sHH:MM:SSwhen precision of a second is needed - ex:+00:23:15or-08:12:44
sstands for "sign", plus or minus)
1928-11-13 22:15+01:00
Expressing timezone offset
Using the vocabulary of CSV files generated from the database,DATE-UT + TZO = DATE
A surprising feature of historical data is that historical notation does not respect the ISO 8601 definition of timezone offset.
The opposite value is always indicated.
This can be observed in Arno Müller files, in Cura web site and in both books FG and THM.
For example, for Brigitte Bardot, born 1934-09-28, Müller and both books indicate an offset of
-1h.
Using the ISO 8601 definition,the offset for this date is
+01:00
G5 program uses ISO 8601 definition
| Meaning for historical usage |
|---|
LT + TZO = UT
If LT is known, add the TZO to obtain UT |
| Meaning for ISO 8601 and g5 |
UT + TZO = LT
if UT is known, add TZO to obtain LT This is equivalent to UT = LT - TZO
If LT is known, substract the TZO to obtain UT |
Cura gives
TZO = 6h
g5 gives
TZO = -06:00
To find UT :
From Cura value : UT = 07:00 + 6h = 13:00
From g5 value : UT = 07:00 - (-6h) = 13:00
The results are equivalent.
This is not a blocking problem as it's finally just a matter of convention.
Timezone offset computation
This is a delicate and important problem.Important because TZO is necessary to compute a chart, and delicate because information sources are sometimes contradictory.
The reference is the "Olson database", used by operating systems and programming languages (https://www.iana.org/time-zones).
This handles simple cases when the offset is defined for a whole time zone at a given time.
For these cases, it's possible to compute the offset without ambiguity :
(date, time zone identifier) --> offset.
But things are sometimes more complex :
- In the 19th century, local time was used, so longitude is also needed for the computation.
-
In some periods of history, the offset depends on political events, and precise local conditions need to be known.
This happens for example in France or Italy at the end of world war 2, where the change of offset in a given city depends on the liberation date of the city.
G5 integration
Time zone computation is a weak point of current implementation :- Edge cases (like end of WW2) are not computed.
- When 2 sources contradict, each case should be solved in a documented way.
Persons have 3 fields to express a date and its timezone :
-
birth.date : the legal time
-
birth.tzo : the timezone offset
-
birth.date-ut : universal time
With (see above) :
date-ut + tzo = date
Examples of contradictions between sources
-
For Italy, both books say that offset is 1h for the whole country since 1893-11-01.
Olson database says 1901-12-13 -
For France or Italy, FG says that "local time" is local mean time.
THM talks about local real time.
The difference between real and mean local time is the equation of time.