Four shapes of date, because one was never enough
A field that only accepts 12/05/1878 makes you choose between a guess and a blank. Leaves stores what you actually know — a day, a range, a period, or the sentence the source gave you — and reads it back in words, in whichever language the interface is speaking.
A date is a structure, never a string
You pick the shape first — one date, a range, a period, or described — and then fill in as much of each point as you know. A range is one unknown instant somewhere inside the bounds; a period is a state that spanned the whole interval. That is a real difference rather than a matter of wording, and Leaves records which one you meant.
Because nothing is stored as text, nothing has to be parsed to be read back: one record renders as 1 January 1850 in English and 1 januari 1850 in Dutch. The point carries its own calendar too, so Julian, Hebrew and French Republican dates keep the values you entered, 1750/51 keeps both of its years, and a year before the common era is a year like any other.
Date · the shapes it takes
- 1 January 1850one date
- c. 1815estone date
- between 1846 and 1849range
- from 1861 to 1865period
- the winter after the great flooddescribed
Stored as structure · read back in words
Four things a date field usually gets wrong
- 1 January 1850, not 1/1/1850
- Month names come from the interface language, so no date in Leaves is ambiguous about whether 2/5/1878 means February or May. A reader who would rather see 1878-05-02 changes how dates are drawn, never how they are stored.
- A date it cannot read is kept, not refused
- An import that meets something it cannot parse stores it as a description rather than dropping the record. The report counts those and tells you the truth about them: they are shown in full, but they will not sort until you give them a year.
- Before, after, a decade, a century
- An open bound is simply a range with one end missing, so before 1900 needs no special case. Every point says how precise it is — century, decade, year, month or day — which is how 1850 stays different from 1 January 1850.
- A merge keeps the disagreement
- Two sources giving different birth years is evidence about the sources. Merging two records of one person moves every citation, event and file onto the survivor and keeps both birth events; nothing picks a winner behind your back.
What this does not do
Leaves will not guess a date for you
There is no inference from a sibling's baptism, no birth year filled in from a marriage, and no quiet tidying of what an import brought in. A date you did not enter stays empty, and a date recorded as a description will not sort into a chronology until you give it a year. Holding what you know without rounding it is the job here; inventing the rest is not.
See it on your own tree
Create an account in the public beta. Start with one free project and import the research you already have.