在SO问题904928(Python strftime-无前导0的日期?)中,Ryan回答道:
实际上我遇到了同样的问题,并意识到,如果在%和字母之间添加连字符,可以去除前导零。
例如%Y /%-m /%-d。
我也遇到了同样的问题,这是一个很好的解决方案,但是,为什么会出现这种情况呢?
>>> 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'
我找不到相关文档? -> Python日期时间文档 / Python字符串操作 似乎在Windows机器上无法正常工作,虽然我不使用Windows,但了解为什么无法正常工作会很有趣。