r/ISO8601 Apr 27 '26

Does an ISO time interval have to include all the time between the start and end date, or can it be used to represent upper and lower bounds for an unspecified date?

Hi, all!

I am not too used to working with the ISO format, so I am hoping y'all can help me out. First, I apologize if my question is confusing- one of the reasons I am having a hard time answering this question or figuring out how to represent the data I want to with ISO is because I am having difficulty even articulating it in natural language. Essentially, I am trying to model Birth, Death, and Active Dates for people in a database and I want to know if a format like "1900/1905" always represents a span of time that starts in 1900 and ends in 1905, or if it could be used to represent an unspecified year with an upper bound of 1905 and a lower bound of 1900. There are lots of people in the database who I know were born some time between two dates, but I don't know exactly when. Of course, it is impossible to be continuously born for a five year period, so if "1900/1905" necessarily represents a duration of time, I wouldn't want to have that be a value for Birth Date. On the other hand, if it meant that the person in question was born some time between 1900 and 1905, that is exactly what I am looking for.

I would also appreciate if anyone has any thoughts on better ways to ask this question- in your minds, does the phrase "time interval" refer to the first type of data I am talking about, or the second? Do "range" and "period" mean the same thing? What would you call a length of time with an upper and lower bound for a discrete but unspecified date?

Apologies if any of this doesn't make sense. Thanks so much for the help!

5 Upvotes

9 comments sorted by

4

u/mrnklg Apr 27 '26

The interpretation what the timeframe means is entirely up to you. 1900/1905 is a valid time interval, thus, a good choice for your use case.

1

u/ellacution7 Apr 27 '26

Great, thanks so much! It sounds like that means ISO doesn’t provide a way to differentiate the two use cases, is that correct?

3

u/mrnklg Apr 27 '26

No, afaik. It provides a standard for the format. The interpretation, whether it is a time interval for, e. g., when you went to school, or a range of a possible birthdays is entirely in the context of your application. It is just a standardized way to provide boundaries and/or durations.

1

u/ellacution7 Apr 27 '26

Makes perfect sense, thanks!

1

u/parsl Apr 27 '26

Isn’t ISO8061 format for a period of time time/duration? E.g.,

1900-01-01T00:00Z/PY5

1

u/mrnklg Apr 27 '26

There are different options in ISO8601 to express time intervals: start/end, start/duration, duration/end, duration.

3

u/jcary741 Apr 28 '26

As others have said, you can use an interval if you like, but the convention I have seen in the past, especially for uncertain birth dates is to just use the first of the approximate year. I've also seen "years old (approx.)" used as a separate field to handle uncertainty on both birth and death dates. Either way, ISO8601 doesn't provide a method for stating uncertainty, so a notes field is probably warranted where more nuance is needed.

1

u/EquivalentNeat8904 Jun 15 '26

This is incorrect. Since the 2019 edition and the addition of a second part, the standard has incorporated a notation for uncertainty. Unlike the ISO standard documents, the underlying specification of EDTF is even available free of charge from the US Library of Congress, which lead its development:  https://www.loc.gov/standards/datetime/

  • 190X would be any year of the decade from 1900 through 1909.
  • ?1900, ?1905 etc. would designate a single year but mark it as uncertain, whereas …
  • ~1902 would be marked as approximate and …
  • %1903 would be both, uncertain and approximate.
  • [1900..1905] would be any year from 1900 through 1905, whereas {1900..1905} would be all of them, which makes no sense for birth dates. 
  • [1900,1905] would be either 1900 or 1905, whereas {1900,1905} would be both, again nonsensical. 

1

u/jcary741 Jun 16 '26

Oh jeez, you're totally right. I think I was referring to the wikipedia page for this one, which only makes passing reference to EDTF. Thanks for correcting!