Overview
There are many possible representations, and thus database schemas, for storing fuzzy date-times (or even just fuzzy dates):
- Date-time and code indicating its precision or accuracy
- Date-time and interval where there are several possibilities for representing an interval:
- Represent all intervals as an integer (or other numeric) quantity of some fixed unit, e.g. days, minutes, nanoseconds.
- Represent an interval as both an integer (or other numeric) quantity and a code indicating its units.
- Start and end date-times
- String
- Probability distribution:
- Decimal or floating-point quantities for the parameters that specify a specific distribution in a particular family, e.g. mean and standard deviation of a normal distribution.
- Probability distribution function, e.g. as a (lookup) code (potentially with parameters of specific values), or as an expression in a sufficiently expressive language, format, or representation.
[1], [2], and [3] are all (implicitly) uniform intervals, i.e. a set of (equally) possible points in time.
[4] is the most expressive, i.e. when allowing any possible (or at least arbitrarily long) written language sentences or phrases. But it's also the hardest to work with. In the limit, human-level AI would be required to handle arbitrary values. Practically, the range of possible values would need to be restricted severely, and alternative 'structured' values would probably be preferred for many operations, e.g. sorting, searching.
[5] is probably the most general compact representation that's (somewhat) practical.
Uniform Intervals
Uniform intervals are the simplest compact way to represent a set of (possible) date-time values.
For [1], portions of the date-time value are ignored, i.e. the portions corresponding to units finer than the indicated precision or accuracy; otherwise this is equivalent to [2] and the precision/accuracy code is equivalent to an interval with the same units (and an implied quantity of 1).
[2] and [3] are expressively equivalent. [1] is strictly less expressive than either as there are effective intervals that cannot be represented by [1], ex. a fuzzy date-time equivalent to a 12 hour interval that spans a date boundary.
[1] is easier for users to input than any other representation and should generally require (at least slightly) less typing. If date-times can be input in various text representations, e.g. "2013", "2014-3", "2015-5-2", "7/30/2016 11p", "2016-07-31 18:15", the precision or accuracy could also be inferred automatically from the input.
The accuracy or precision of [1] is also easiest to convert to a form to be conveyed to users, e.g. '2015-5 with month accuracy' to "May 2015", versus "May 13th 2015 2p, plus or minus 13.5 days" (tho note that the latter can't be represented by [1] anyways).
Strings
Practically, string values will need to be converted to other representations for querying, sorting, or otherwise comparing multiple values. So while any written natural (human) language is strictly more expressive than [1], [2], [3], or [5], we don't yet have the means of handling much beyond standard text representations or formats. Given that, this is probably the least useful representation by itself.
One advantage of this representation tho is that values should, in practice, be presentable to users as-is and not require transformation to be easily understandable.
Probability Distributions
Probability distributions generalize the uniform interval representations [1], [2], [3], and (arguably) are equivalent to the (general) string representation [4].
One advantage of probability distributions over strings is that the former is unambiguous.
[5-1] would be appropriate for values that (mostly) conform to an existing distribution, e.g. a date-time value output from a device for which measurements are known (or thought) to conform to a specific distribution.
[5-2] is probably the best (somewhat) practical way to compactly represent arbitrary 'fuzzy datetime' values. Of course the computability of the specific probability distributions used matters and there are definitely interesting (and perhaps impossible) problems to be solved when querying, sorting, or comparing different values, but a lot of this is probably already known or solved somewhere in the existing mathematical and statistical literature so this definitely stands as an extremely general and un-ambiguous representation.