Creo que lo que está describiendo sería un reemplazo directo para el datetimemódulo que implementa los datetime.datetimeatributos (año, mes, etc.) como valores con una medición de incertidumbre (en lugar de solo valores).
Los paquetes de Python existen para ayudar con números inciertos (por ejemplo: el paquete de incertidumbres ), y quizás no sería demasiado difícil hacer una bifurcación datetimeque usa incertidumbre en cada atributo. A mí también me gustaría ver uno e incluso podría haberlo usado. Ciertamente, se podría argumentar la inclusión de un udatetimepaquete de incertidumbres anteriormente relacionado.
Sus ejemplos serían algo como:
bob_bday = udatetime(2000, (6,6)) # 2000-06 +/- 6mo
>>> 2000-??-?? T??:??:??
bil_bday = udatetime((1970, 50), 3, 7) # assume bill is ~40 +/- 40
>>> [1970+/-40]-03-07 T??:??:??
Los "valores de señal" tienen muchos problemas, pero además puede representar cosas con incertidumbre que los valores de señal no pueden:
# ali was born in spring
ali_bday = udatetime((), (4.5, 1.5))
>>> [1970+/-40]-[4.5+/-1.5]-?? T??:??:??
Otra consideración es que para ser más precisos, las incertidumbres aquí deberían ser de tipo timedelta. Lo dejo como un ejercicio para que el lector descubra un constructor conciso y completo para udatetimeusar timedeltaincertidumbres.
Así que, en última instancia, diría que lo que usted describe se modela "fácilmente" con incertidumbres, pero la implementación de a udatetimees prácticamente bastante difícil. La mayoría tomará la ruta "fácil" y dividirá la fecha y hora en componentes y rastreará la incertidumbre sobre ellos de manera independiente, pero si se siente ambicioso, el uncertaintiespaquete (u otro) podría estar interesado en una solicitud de extracción udatetime.