Annoyed - Python 2.2.1 BUG in calendar module
Skip Montanaro
skip at pobox.com
Thu Oct 3 13:16:35 EDT 2002
Kaleb> PS: here is the traceback:
>>>> import calendar
>>>> calendar.monthcalendar(1969,12)
Kaleb> Traceback (most recent call last):
Kaleb> File "<stdin>", line 1, in ?
Kaleb> File "c:\progra~1\python22\lib\calendar.py", line 122, in
Kaleb> monthcalendar
Kaleb> day1, ndays = monthrange(year, month)
Kaleb> File "c:\progra~1\python22\lib\calendar.py", line 115, in monthrange
Kaleb> day1 = weekday(year, month, 1)
Kaleb> File "c:\progra~1\python22\lib\calendar.py", line 106, in weekday
Kaleb> secs = mktime((year, month, day, 0, 0, 0, 0, 0, 0))
Kaleb> OverflowError: mktime argument out of range
Kaleb> The error is identical under Linux
Note that mktime comes from the time module. The time module's docs say, in
part:
There are two standard representations of time. One is the number of
seconds since the Epoch, in UTC (a.k.a. GMT). It may be an integer or a
floating point number (to represent fractions of seconds). The Epoch is
system-defined; on Unix, it is generally January 1st, 1970. The actual
value can be retrieved by calling gmtime(0).
...
mktime() -- convert local time tuple to seconds since Epoch
Two suggestions before heading off to do your own thing:
1. Fred Drake was working on a more capable date-time representation
during the summer. The code is in the SF sandbox:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/python/nondist/sandbox/datetime/
You might also want to read his DateTimeWiki:
http://www.zope.org/Members/fdrake/DateTimeWiki/FrontPage
before implementing something different.
2. Perhaps someone has created some calendar stuff based upon Marc-André
Lemburg's mx.DateTime package (look here: <http://www.egenix.com/>).
That is a very well wrung-out package and has a lot more
functionality than Fred's stuff.
--
Skip Montanaro - skip at pobox.com
"Airplanes don't fly until the paperwork equals the weight of the
aircraft. Same with i18N." - from the "Perl, Unicode and i18N FAQ"
More information about the Python-list
mailing list