[Python-Dev] User's complaints

skip at pobox.com skip at pobox.com
Wed Jul 12 02:54:03 CEST 2006


    Michael> Well here's one I stumbled across the other day. I don't know
    Michael> if it's legit, but it's still bad PR:

    Michael> http://www.gbch.net/gjb/blog/software/discuss/python-sucks.html

    Michael> For the impatient, he's not at all bothered about the lack of
    Michael> obscure language feature X.

The way I used to format dates using time.strftime does indeed no longer
work.

Python 2.3:

    >>> import time
    >>> time.strftime("%Y-%m-%d", (2005, 6, 4) + (0,)*6)
    '2005-06-04'

Python 2.4 or 2.5:

    >>> import time
    >>> time.strftime("%Y-%m-%d", (2005, 6, 4) + (0,)*6)
    Traceback (most recent call last):
      File "<stdin>", line 1, in ?
    ValueError: day of year out of range
    >>> time.strftime("%Y-%m-%d", (2005, 6, 4) + (1,)*6)
    '2005-06-04'

I don't actually run into this problem as I've pretty much converted to use
datetime in new code.  I also realize that's not documented as the way it
should be done, but I'm fairly certain it was common usage before the
datetime module came along.  Still, it is a bit annoying that the
(undocumented, but I think de facto) commonly used idiom no longer works.

(In fact, it always bothered me a bit that I had to even provide the unused
values.)

Skip


More information about the Python-Dev mailing list