This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author christian.heimes
Recipients christian.heimes
Date 2022-01-30.15:14:48
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1643555688.39.0.0858908096334.issue46587@roundup.psfhosted.org>
In-reply-to
Content
Several test cases for datetime and time modules use the non-standard and non-portal width prefix for strftime:

>>> datetime.date(42, 1, 1).strftime("%4Y")
'0042'

According to man strftime(3) https://man7.org/linux/man-pages/man3/strftime.3.html the width field is glibc-specific extension:

> Glibc provides some extensions for conversion specifications.
> (These extensions are not specified in POSIX.1-2001, but a few
> other systems provide similar features.)  Between the '%'
> character and the conversion specifier character, an optional
> flag and field width may be specified.

The width field is not supported by Emscripten, which only implements POSIX.1-2001 compatible date and time formatting: https://github.com/emscripten-core/emscripten/blob/3.1.2/src/library.js#L735

Python 3.11.0a4+ (heads/main-dirty:b1a3446, Jan 25 2022, 10:19:07) [Clang 14.0.0 (https://github.com/llvm/llvm-project f142c45f1e494f8dbdcc1bcf1412 on emscripten
Type "help", "copyright", "credits" or "license" for more information.
>>> import datetime
>>> datetime.date(42, 1, 1).strftime("%4Y")
'%4Y'

Also see bpo-13305
History
Date User Action Args
2022-01-30 15:14:48christian.heimessetrecipients: + christian.heimes
2022-01-30 15:14:48christian.heimessetmessageid: <1643555688.39.0.0858908096334.issue46587@roundup.psfhosted.org>
2022-01-30 15:14:48christian.heimeslinkissue46587 messages
2022-01-30 15:14:48christian.heimescreate