Gigatrees Blog

Date Handling and Date Formats

Date Handling and Date Formats

Gigatrees recognizes dates in almost any unambiguous format. It also supports all GEDCOM calendars and their date formats including Gregorian (the default), Julian, Hebrew and French Republic. Non-Gregorian calendar dates will be shown in their original format as well as in Gregorian format for readability. Gigatrees also supports British Monarch dates such as 10 Hen II representing the year 1164. This is valuable to Medieval genealogists who may want to enter dates in the format they appear in the original records. Monarch dates can even be combined with Gregorian dates when entering date ranges or date periods, such as bet 10 Hen II and 6 Dec 1173. Whenever Monarch dates are shown, both the original Monarch date and the Gregorian date are shown for readability.

When displaying Gregorian dates, the month name abbreviations are translated using the appropriate translation string (Jan, Feb, Mar ... ). When displaying date qualifiers (abt, aft, and, bef, bet, cal, est, from, int, prob, to), their translations are also shown. The vendor specific qualifier, prob is an abbreviation for "probably". Gigatrees also accepts date qualifiers of about, after, before, between, by, circa, ca, ca., calc and near. Gigatrees recognizes Gregorian months in both abbreviated and full forms (Jan, January). It will also recognize months in their translated string formats. So for instance if you are French, and enter your month names as Janvier you could enter this as your translation string for January to have it recognized by Gigatrees. It will always be displayed using the translation string for Jan, which you could also set to Janvier if your like. Unrecognized dates are flagged and included in your data alerts.

Gigatrees recognizes a wide variety of date formats, beyond those specified by the GEDCOM specification. The following testing results from the date module list both the original and the converted dates. When a date is not recognized, it will show "(not valid)". Although this is not a complete list of every possible combination, it should provide enough coverage so that you should be able to figure out if a date will be recognized and how it will be interpreted. Ambiguous dates may be interpreted in a way other than what you intended. If that is the case, you should change the date in their file accordingly.

FAILURE: 30/8/1850 (not valid)
FAILURE: 8/30/1850 (not valid)
FAILURE: 8.30.1850 (not valid)
FAILURE: 30.8.1850 (not valid)
FAILURE: 8-30-1850 (not valid)
FAILURE: 30-8-1850 (not valid)
FAILURE: 1850/30/8 (not valid)
FAILURE: 1850/8/30 (not valid)
FAILURE: 1850.8.30 (not valid)
FAILURE: 1850.30.8 (not valid)
FAILURE: 1850-8-30 (not valid)
FAILURE: 1850-30-8 (not valid)
FAILURE: 3 1952 (not valid)
FAILURE: 3/1952 (not valid)
FAILURE: 3-1952 (not valid)
FAILURE: >= 3 JAN 1850 (not valid)
FAILURE: 18/19 Oct 1216 (not valid)
FAILURE: JAN/FEB/MAR 1850 (not valid)
FAILURE: Q3 1850 (not valid)
FAILURE: Winter 1850 (not valid)
Pass: 1850 => 1850
Pass: 1688/89 => 1688/89
Pass: 1689/90 => 1689/90
Pass: 1699/00 => 1699/00
Pass: 1699/1700 => 1699/00
Pass: 1700/1701 => 1700/01
Pass: 1700/01 => 1700/01
Pass: 1700/1702 => bet 1700 and 1702
Pass: 1700/02 => bet 1700 and 1702
Pass: 1700/10 => bet 1700 and 1710
Pass: 1688-1689 => from 1688 to 1689
Pass: 1688 / 89 => 1688/89
Pass: 1688 \ 89 => 1688/89
Pass: 1688\89 => 1688/89
Pass: 1688 - 1689 => from 1688 to 1689
Pass: 1688 1689 => bet 1688 and 1689
Pass: 1688, 1689 => bet 1688 and 1689
Pass: 1688 1689 1690 1691 => bet 1688 and 1691
Pass: 1688, 1689, 1690, 1691 => bet 1688 and 1691
Pass: 1688, 1689, 1690, 1701 => bet 1688 and 1701
Pass: 1699 1700 1701 => bet 1699 and 1701
Pass: 1699 1700 32 => bet 1699 and 1732
Pass: 1631 32 33 => bet 1631 and 1633
Pass: 1631 and 1632 => bet 1631 and 1632
Pass: 1631 or 1632 => 1631 or 1632
Pass: 1631, 1633 or 1632 => bet 1631 and 1633
Pass: JAN 1850 => Jan of 1850
Pass: 1850 JAN => Jan of 1850
Pass: 3 JAN 1850 => Jan 3, 1850
Pass: 3 1850 JAN => Jan 3, 1850
Pass: 1850 JAN 3 => Jan 3, 1850
Pass: 1850 3 JAN => Jan 3, 1850
Pass: JAN 1850 3 => Jan 3, 1850
Pass: JAN 3 1850 => Jan 3, 1850
Pass: 3 JAN 1850/51 => Jan 3, 1850/51
Pass: 3 JAN 1850/1 => Jan 3, 1850/51
Pass: 1850/51 JAN 3 => Jan 3, 1850/51
Pass: 1850/1 JAN 3 => Jan 3, 1850/51
Pass: 1850/51 3 JAN => Jan 3, 1850/51
Pass: 1850/1 3 JAN => Jan 3, 1850/51
Pass: January 3, 1850 => Jan 3, 1850
Pass: 1850 MARS => Mar of 1850
Pass: (1850 MARS) => Mar of 1850
Pass: abt 3 JAN 1850 => abt Jan 3, 1850
Pass: (abt) 3 JAN 1850 => abt Jan 3, 1850
Pass: abt. 3 JAN 1850 => abt Jan 3, 1850
Pass: about 3 JAN 1850 => abt Jan 3, 1850
Pass: circa 3 JAN 1850 => abt Jan 3, 1850
Pass: ca 3 JAN 1850 => abt Jan 3, 1850
Pass: ca. 3 JAN 1850 => abt Jan 3, 1850
Pass: near 3 JAN 1850 => abt Jan 3, 1850
Pass: approx 3 JAN 1850 => abt Jan 3, 1850
Pass: (approx) 3 JAN 1850 => abt Jan 3, 1850
Pass: 3 JAN 1850 abt => abt Jan 3, 1850
Pass: 3 JAN 1850 approx => abt Jan 3, 1850
Pass: 3 JAN 1850 (approx) => Jan 3, 1850 (approx)
Pass: bet 3 JAN 1850 and 1850 JAN 5 => bet Jan 3, 1850 and Jan 5, 1850
Pass: between 3 JAN 1850 and 1850 JAN 5 => bet Jan 3, 1850 and Jan 5, 1850
Pass: betw 3 JAN 1850 and 1850 JAN 5 => bet Jan 3, 1850 and Jan 5, 1850
Pass: bet 3 JAN 1850/1 and 1850/1 JAN 5 => bet Jan 3, 1850/51 and Jan 5, 1850/51
Pass: bet 3 JAN 1850/1 and 1850/2 JAN 5 => bet Jan 3, 1850/51 and Jan 5, 1852
Pass: bet 3 JAN 1850 1853 and 1850 1852 1854 JAN 5 => bet Jan 3, 1850 and Jan 5, 1854
Pass: from 3 JAN 1850 => from Jan 3, 1850
Pass: from 3 JAN 1850 to 1850 JAN 5 => from Jan 3, 1850 to Jan 5, 1850
Pass: bef 3 JAN 1850 => bef Jan 3, 1850
Pass: bef. 3 JAN 1850 => bef Jan 3, 1850
Pass: before 3 JAN 1850 => bef Jan 3, 1850
Pass: by 3 JAN 1850 => by Jan 3, 1850
Pass: <= 3 JAN 1850 => by Jan 3, 1850
Pass: aft 3 JAN 1850 => aft Jan 3, 1850
Pass: after 3 JAN 1850 => aft Jan 3, 1850
Pass: aft. 3 JAN 1850 => aft Jan 3, 1850
Pass: cal 3 JAN 1850 => cal Jan 3, 1850
Pass: calc 3 JAN 1850 => cal Jan 3, 1850
Pass: prob 3 JAN 1850 => prob Jan 3, 1850
Pass: est 3 JAN 1850 => est Jan 3, 1850
Pass: int 3 JAN 1850 => int Jan 3, 1850
Pass: int 3 JAN 1850 (found in record) => int Jan 3, 1850 (found in record)
Pass: @#DGREGORIAN@ 3 JAN 1850 => Jan 3, 1850
Pass: @#DJULIAN@ 3 JAN 1850 => Jan 3, 1850 [Julian]
Pass: @#DHEBREW@ 3 JAN 1850 => Jan 3, 1850
Pass: bet 1689/90 and 1699/00 => bet 1689/90 and 1699/00
Pass: bet 1689/91 and 1699/01 => bet 1689 and 1701
Pass: 3 HEN I => cal 1102 (3 HEN I)
Pass: 53 HEN I => cal 1152 (53 HEN I)
Pass: 3 HEN II => cal 1156 (3 HEN II)
Pass: 3 GEO VI => cal 1938 (3 GEO VI)
Pass: 3 George VI => cal 1938 (3 George VI) [cal 1938 (3 Geo VI)]
Pass: bet 3 HEN I and 4 HEN I => bet 1102 and 1103 (bet 3 HEN I and 4 HEN I)
Pass: bet 3 HEN I and 53 HEN I => bet 1102 and 1152 (bet 3 HEN I and 53 HEN I)
Pass: bet 3 JAN 1000 and 3 HEN I => bet Jan 3, 1000 and 1102 (bet 3 JAN 1000 and 3 HEN I)
Pass: bet 3 JAN 1000 and 53 HEN I => bet Jan 3, 1000 and 1152 (bet 3 JAN 1000 and 53 HEN I)
Pass: bet 3 HEN I and 3 JAN 1200 => bet 1102 and Jan 3, 1200 (bet 3 HEN I and 3 JAN 1200)
Pass: bet 53 HEN I and 3 JAN 1200 => bet 1152 and Jan 3, 1200 (bet 53 HEN I and 3 JAN 1200)
Pass: < 3 JAN 1850 => bef Jan 3, 1850
Pass: > 3 JAN 1850 => aft Jan 3, 1850
Pass: <3 JAN 1850 => bef Jan 3, 1850
Pass: bef Jan of 1850
Pass: <1850 => bef 1850
Pass: >3 JAN 1850 => aft Jan 3, 1850
Pass: >JAN 1850 => aft Jan of 1850
Pass: >1850 => aft 1850
Pass: ~ 3 JAN 1850 => abt Jan 3, 1850
Pass: ~3 JAN 1850 => abt Jan 3, 1850
Pass: ~1850 JAN 3 => abt Jan 3, 1850
Pass: ~JAN 3 1850 => abt Jan 3, 1850
Pass: Sept 1939 => Sep of 1939
Pass: 13 Sept 1945 => Sep 13, 1945
Pass: Feb 3, 1926 => Feb 3, 1926
Pass: c 1977 => abt 1977
Pass: c1977 => abt 1977
Pass: 1949? => maybe 1949
Pass: ?1949 => maybe 1949
Pass: maybe 1949 => maybe 1949
Pass: poss 1949 => maybe 1949
Pass: poss. 1949 => maybe 1949
Pass: possibly 1949 => maybe 1949
Pass: bet 1879 and 1949? => bet 1879 and 1949 (?)
Pass: 1879-1949? => from 1879 to 1949 (?)
Pass: 1879?-1949 => from 1879 to 1949 (?)
Pass: 1879?-1949? => from 1879 to 1949 (?)
Pass: Bet. 1851-1857 => bet 1851 and 1857
Pass: Bet. 1851&1857 => bet 1851 and 1857
Pass: Bet. 1851&1857/8 => bet 1851 and 1857/58
Pass: 11 Jul 1861 or 1868 => Jul 11, 1861 or 1868
Pass: 11 Jul 1861|1868 => Jul 11, 1861 or 1868
Pass: 1775 or 1751 => 1751 or 1775
Pass: 1775|1751 => 1751 or 1775
Pass: 1550/1490 => bet 1490 and 1550
Pass: 10 Jun 1633/16 => bet Jun 10, 1633 and 1716
Pass: 23 Sep 1903 or 3 Sep 1899 => Sep 3, 1899 or Sep 23, 1903
Pass: 11th Feb 1902 => Feb 11, 1902
Pass: 2005, 8 June 2009 - 2 may 2013 => bet Jun 8, 2005 and May 2, 2013
Pass: 12 or 17 Oct 1812 => Oct 12, 1812 or Oct 17, 1812
Pass: bet 6 Mar and 1812 12 JAN => bet Jan 12, 1812 and Mar 6, 1812
Pass: bet Mar 6 and 1812 12 JAN => bet Jan 12, 1812 and Mar 6, 1812
Pass: 1952 comment1 comment2 comment3 => 1952 (comment1 comment2 comment3)
Pass: 1952 (comment1 comment2 comment3) => 1952 (comment1 comment2 comment3)
Pass: 1 Jan 1952 (comment1 comment2 comment3) => Jan 1, 1952 (comment1 comment2 comment3)
Pass: Before 679 He was Murdered => bef 679 (He was Murdered)
Pass: 10 Jun 1633-16 Jun 1633 Christening => from Jun 10, 1633 to Jun 16, 1633 (Christening)
Pass: 10 Jun 1633 to 16 Jun 1633 Christening => from Jun 10, 1633 to Jun 16, 1633 (Christening)
Pass: 21 mai 1984, comment => May 21, 1984 (comment)
Pass: 23 sep 1972, comment => Sep 23, 1972 (comment)
Pass: BET APR AND JUN 1895 => bet Apr of 1895 and Jun of 1895
Pass: Bet. 1978-1994 => bet 1978 and 1994
Pass: Bet. Apr-Jun 1895 => bet Apr of 1895 and Jun of 1895
Pass: Jan-Feb-Mar 1939 => from Jan of 1939 to Mar of 1939
Pass: JAN FEB MAR 1850 => bet Jan of 1850 and Mar of 1850
Pass: 1990s => bet 1990 and 1999
Pass: 1990's => bet 1990 and 1999
Pass: 1 A.D. => 1
Pass: 0 A.D. => 1 B.C.E.
FAILURE: 0 B.C. (not valid)
Pass: 1 B.C. => 1 B.C.E.
Pass: 2 B.C. => 2 B.C.E.
Pass: 2 B.C.E. => 2 B.C.E.
Pass: 2 B. C. => 2 B.C.E.
Pass: 2 B. C. E. => 2 B.C.E.
Pass: 2 BC => 2 B.C.E.
Pass: 2 B C => 2 B.C.E.
Pass: 2 BCE => 2 B.C.E.
Pass: 2 B C E => 2 B.C.E.
Pass: 2 A.D. => 2
Pass: 2 AD => 2
Pass: 2 A. D. => 2
Pass: 2 A D => 2
Pass: 2 A.C.E. => 2
Pass: 2 ACE => 2
Pass: 2 A. C. E. => 2
Pass: 2 A C E => 2
Pass: bet 4 Jan 0002 BC and 6 Aug 1 B.C. => bet Jan 4, 2 B.C.E. and Aug 6, 1 B.C.E.
Pass: bet 4 Jan 12 BCE and 6 Aug 2 B.C. => bet Jan 4, 12 B.C.E. and Aug 6, 2 B.C.E.
Pass: bet 04 Jan 1000 BC and 6 Aug 10 => bet Jan 4, 1000 B.C.E. and Aug 6, 10
  • Last Modified:
Built with Innuendo (0.1.3)