[Python-Dev] User's complaints
"Martin v. Löwis"
martin at v.loewis.de
Wed Jul 12 08:34:49 CEST 2006
skip at pobox.com wrote:
> 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'
Is there any specific reason you couldn't write
"%d-%02d-%02d" % (2005, 6, 4)
(i.e. not use strftime at all)? It seems strange to fake a time tuple
just to use that function, in particular if the time formatting should
not use any locale-specific output.
> 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.
I guess this was caused by this change:
/* Checks added to make sure strftime() does not crash Python by
indexing blindly into some array for a textual representation
by some bad index (fixes bug #897625).
No check for year since handled in gettmarg().
*/
So this was changed in response to a bug report about a crash.
Regards,
Martin
More information about the Python-Dev
mailing list