[Python-ideas] Top 10 Python modules that need a redesign Was: Geo coordinates conversion in stdlib

MRAB python at mrabarnett.plus.com
Sun Apr 5 15:13:44 CEST 2015


On 2015-04-05 01:45, Alexander Belopolsky wrote:
>
> On Sat, Apr 4, 2015 at 7:28 PM, MRAB <python at mrabarnett.plus.com 
> <mailto:python at mrabarnett.plus.com>> wrote:
>
>         I am genuinely interested in the ways to improve date/time
>         formatting in
>         Python.  There are certainly better ways than stftime.  For
>         example, ICU
>         has a date/time format syntax that is much more readable:
>         instead of
>         "%Y-%m-%d %H:%M:%S", ICU format is "yyyy-MM-dd HH:mm:ss".
>
>         I don't think it is hard to find a way to introduce ICU format in
>         datetime.__format__ while preserving backward compatibility.  For
>         example, we may require that % is always "escaped" as '%' in
>         ICU format
>         and the presence of unescaped % can trigger strftime
>         interpretation.
>
>
>         [1] http://userguide.icu-project.org/formatparse/datetime
>
>     Personally, I prefer some kind of escaping, possibly in the style of
>     .format, e.g. "{year}-{month}-{day} {hour}:{minute}:{second}". (It'll
>     probably need a little tinkering to shorten it! :-))
>
>
> Can someone explain to me why something like this or Anatoly's 
> double-curly-brace variant is an improvement over
>
> >>> from datetime import *
> >>> "{0.year}-{0.month}-{0.day} 
> {0.hour}:{0.minute}:{0.second}".format(datetime.now())
> '2015-4-4 20:43:23'
>
Maybe it just needs the addition of attributes for '%A' and '%a' (name 
of day) and '%B' and '%b' (name of month).


More information about the Python-ideas mailing list