Sur SO question 904928 (Python strftime - date without leading 0?) Ryan a répondu:Pourquoi "% -d" ou "% -e" supprime-t-il l'espace initial ou zéro?
Actually I had the same problem and I realised that, if you add a hyphen between the % and the letter, you can remove the leading zero.
For example %Y/%-m/%-d.
J'ai fait face au même problème et qui était une excellente solution, mais, pourquoi ce comme cela se comporte?
>>> 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'
Je ne trouve aucune documentation à ce sujet? ->python datetime docs/python string operations
Il semble que cela ne fonctionne pas sur les machines Windows, eh bien je n'utilise pas de fenêtres mais il serait intéressant de savoir pourquoi cela ne fonctionne pas?
Sur mes versions Windows que votre premier exemple fonctionne sans erreur. Le reste aboutit à une chaîne de valeurs ValueError: Invalid. [Cette question] (http://stackoverflow.com/questions/10807164/python-time-formatting-different-in-windows) peut vous éclairer sur les directives standard/portables par rapport aux "améliorations" spécifiques à la plate-forme. – jedwards
Cela dépend donc de l'implémentation de libc de chaque système d'exploitation. Je vous remercie! Des conseils sur comment/pourquoi ces exemples fonctionnent généralement sur les systèmes Unix? – Mathias