(no title)
ubernostrum | 7 years ago
And FWIW, Python's (strftime-based) datetime library won't let you mix ISO and non-ISO format codes. Trying to use %G with %m, for example, raises an exception, as does trying to use %Y with %V (%V is the ISO week number format code).
ubernostrum|7 years ago
Examples:
'%G/%m' is illegal; it contains %G without %V, and does not contain a weekday format code. Attempting to call strptime() with this format raises ValueError.
'%V/%u' is illegal; it contains a weekday format, but has %V without %G. Raises ValueError.
'%G/%V' is illegal; it contains both %G and %V, but does not contain a weekday format code. Raises ValueError.
'%G/%V/%u' is legal; it contains both %G and %V, and contains a weekday format code.
'%G/%V/%w' is legal; it contains %G and %V and a weekday format code. It's a bad idea, though, because %w numbers days 0-6 starting Sunday, while ISO (%u) numbers them 1-7 starting Monday.
If you need to work with ISO week date formats for some reason, you should stick to one of these two format strings:
'%G-W%V-%u'
or
%GW%V%u
The date of this comment (December 26, 2018) comes out as either '2018-W52-3' or '2018W523' using those format strings.
bonzini|7 years ago