¿Por qué "% -d" o "% -e" eliminan el espacio inicial o cero?
En SO pregunta904928 (Python strftime - ¿fecha sin 0 a la izquierda?) Ryan respondió:
En realidad, tuve el mismo problema y me di cuenta de que, si agrega un guión entre el% y la letra, puede eliminar el cero inicial.
Por ejemplo% Y /% - m /% - d.
Me enfrenté al mismo problema y esa fue una gran solución, PERO, ¿por qué se comporta así?
>>> 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'
¿No puedo encontrar ninguna documentación al respecto? ->documentos de fecha y hora de Python / operaciones de cadena de python
Parece que esto no funciona en máquinas con Windows, bueno, yo no uso Windows, pero sería interesante saber por qué no funciona.