Warum entfernt "% -d" oder "% -e" das führende Leerzeichen oder die Null?

Auf SO Frage 904928 (Python-Laufzeit - Datum ohne führende 0?) Ryan antwortete:

Eigentlich hatte ich das gleiche Problem und mir wurde klar, dass Sie die führende Null entfernen können, wenn Sie einen Bindestrich zwischen dem% und dem Buchstaben einfügen.

Zum Beispiel% Y /% - m /% - d.

Ich hatte das gleiche Problem und das war eine großartige Lösung, ABER, warum verhält sich das so?

>>> import datetime
>>> datetime.datetime(2015, 3, 5).strftime('%d')
'05'

>>> datetime.datetime(2015, 3, 5).strftime('%-d')
'5'

# It also works with a leading space
>>> datetime.datetime(2015, 3, 5).strftime('%e')
' 5'

>>> datetime.datetime(2015, 3, 5).strftime('%-e')
'5'

# Of course other numbers doesn't get stripped
>>> datetime.datetime(2015, 3, 15).strftime('%-e')
'15'

Ich kann keine Dokumentation dazu finden? ->python datetime docs / python string operations

Es sieht so aus, als würde dies auf Windows-Rechnern nicht funktionieren. Nun, ich verwende keine Windows, aber es wäre interessant zu wissen, warum es nicht funktioniert.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage