But what if they are used intentionally as "impossible" or sentinel values?

--Guido (on Android)

On Jun 19, 2010 2:37 PM, "Alexander Belopolsky" <alexander.belopolsky@gmail.com> wrote:
> While datetime range is limited to years from 1 through 9999, it is
> possible to produce time tuple with year 0 or year 10,000:
>
>>>> t1 = datetime.min.replace(tzinfo=timezone.max)
>>>> t2 = datetime.max.replace(tzinfo=timezone.min)
>>>> t1.utctimetuple().tm_year
> 0
>>>> t2.utctimetuple().tm_year
> 10000
>
> Most if not all functions consuming timetuples are not designed to
> handle years beyond 9999 and such timetuples cannot be converted back
> to datetime.
>
> I would like to make utctimetuple() method to raise OverflowError on
> values like t1 or t2 above. These values are most certainly a mistake
> in application ad it is better to detect them earlier before they make
> their way into system functions that cannot handle them.
>
> See issues 9005 and 6608 on the tracker.
>
> http://bugs.python.org/issue9005
> http://bugs.python.org/issue6608
> _______________________________________________
> Python-Dev mailing list
> Python-Dev@python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: http://mail.python.org/mailman/options/python-dev/guido%40python.org