Datum und Zeit
Intern nutzt GFFamily die Datums- und Zeitfunktion von SQLite. Hier sind die Besonderheiten dazu aufgeführt.
Datumsformat
Intern wird das Datums- und Zeitformat nach ISO 8601 verwendet. Das heißt die Speicherung erfolgt in folgenden Formaten:
Format Positiv |
Beispiel Positiv |
Format Negativ |
Beispiel Negativ |
|---|---|---|---|
JJJJ-MM-TT |
2004-07-11 |
−JJJJ-MM-TT |
−0333-07-11 |
Bemerkung
Hinweis für GFAhnen-Nutzer:
Dies unterscheidet sich von GFAhnen, welches verschiedene Formate verwendet! In der Ahnen.db wird das Format JJJJ.MM.TT verwendet. In der Ehen.db und der LebPhasen.db das Format TT.MM.JJJJ.
Ist ein Datum nur teilweise vorhanden, werden die nicht vorhandenen Bereiche durch Leerzeichen aufgefüllt. Ein Datum kann dann z.B. wie folgt aussehen 2004- - .
Die Eingabe im Programm erfolgt regulär und wie gewohnt im Format TT.MM.JJJJ. Die Konvertierung wird jeweils vom Programm durchgeführt.
Zeitformat
Das Zeitformat hält sich ebenfalls an die ISO 8601, ist jedoch auf Stunden und Minuten beschränkt. Die Eingabe und Speicherung erfolgt hier im Format hh:mm (z.B. 16:27).
Kalenderberechnung
SQLite arbeitet intern mit einem sogenannten Proleptischen-gregorianischen Kalender. Dieser hat diverse Vor- und Nachteile, auf einige soll hier eingegangen werden:
der Kalender erlaubt Datumsberechnungen bis zum 24. November 4714 v. u. Z.; damit sollten die meisten Forschungen direkt abbildbar sein.
Jahr 0 Problem: der Kalender beinhaltet ein Jahr 0. Dieses kommt in der Wissenschaft nicht vor. Auch die Genealogie kennt dieses Jahr nicht. Das hat zur Folge, dass sich Ereignisse um ein Jahr verschieben (Caesar würde nicht 44 v. u. Z. sterben, sondern 43 v. u. Z.).
Um einige Probleme zu umgehen, werden intern folgende Funktionen verwendet:
Bei Berechnungen mit Jahreszahlen vor dem Jahr 1 wird ein Jahr abgezogen. Das heißt, das Jahr 0 wird entsprechend korrigiert und somit die Jahre wieder bereinigt.