Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions specification/gedcom-2-data-types.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,21 @@ The grammar above allows for `date`s to be preceded by various words. The meanin
|`CAL` *x* |*x* is calculated from other data. |
|`EST` *x* |Exact date unknown, but near *x*; and *x* is calculated from other data.|

:::note
`AFT` and `BEF` were introduced in 5.0 without definition,
defined with the single words "after" and "before" in 5.3,
and defined as "event happened before/after the given date" in 5.4 through 5.5.1.
Those definitions suggest that `AFT 1850` would mean "1 JAN 1851 or later,"
while under the 7.0 definition `AFT 1850` means "1 JAN 1850 or later."

This change in definitions was made to align with common (but not universal) practice.
Given a source dated 1850 that asserts something had happened in the past
(which could mean earlier that same year or in an earlier year),
some users encode that as `BEF 1850` and others as `BEF 1851`.
Both user entries are consistent with the source under the 7.0 definition,
while only the second is consistent with the source under the 5.x definition.
Comment on lines +137 to +145

@tychonievich tychonievich Jun 23, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Those definitions suggest that `AFT 1850` would mean "1 JAN 1851 or later,"
while under the 7.0 definition `AFT 1850` means "1 JAN 1850 or later."
This change in definitions was made to align with common (but not universal) practice.
Given a source dated 1850 that asserts something had happened in the past
(which could mean earlier that same year or in an earlier year),
some users encode that as `BEF 1850` and others as `BEF 1851`.
Both user entries are consistent with the source under the 7.0 definition,
while only the second is consistent with the source under the 5.x definition.
These definitions left ambiguous whether they meant the beginning or end of the date in question:
did `BEF 1850` mean "before the beginning of 1850: 31 DEC 1849 or before"
or did it mean "before the end of 1850: 31 DEC 1850 or before"?
Some users found the inclusive definition more natural,
and would encode a source dated 1850 asserting something had happened in the past
as `BEF 1850`;
others preferred the more natural linguistic form of the exclusive definition,
and entered the same source as `BEF 1851`
because they didn't know if it happened earlier in 1850 or an earlier year.
Choosing one over the other also seemed to vary by region,
with some dialects and translations interpreting "before" and "after" differently than others.
The updated definition text in 7.0 is intended to be unambiguously inclusive:
`BEF 1850` could mean sometime within 1850, or before that date began.
The inclusive definition was chosen because it does not contradict the exclusive definition:
interpreting exclusive intent as inclusive data loses precision,
while interpreting inclusive intend as exclusive asserts falsehoods.

This alternative wording points out that there was an actual ambiguity, not just a sloppiness of use, in the 5.x wording, but also doesn't suggest that disagreements still exist. I can't decide if I like this text better or not.

:::

Known calendars and tips for handling dual dating and extension calendars are given in [Appendix A: Calendars and Dates](#A-calendars).

`DateValue` and `DatePeriod` payloads may also be the empty string if no suitable form is known but a substructure (such as a `PHRASE` or `TIME`) is desired.
Expand Down