Atualização: Veja o comentário abaixo de aloschilov para a melhor maneira de remover zeros à esquerda, que é usar um – antes do formatador (após%), por exemplo:% -H. Eu não conhecia essa sintaxe quando escrevi esta dica.
O strftime do Python não tem opções para dias ou horas com um único dígito, o que significa que você pode acabar com formatos de aparência muito clínica, como:
14h24 – 09 de janeiro de 2014
Uma maneira simples de corrigir isso é combinar o poder do strftime e da formatação de strings regulares. Junto com um pequeno truque de mod, você pode obter formatos de aparência mais amigáveis aos humanos desta maneira:
d.strftime('%d:%%M %%p - %d %%b %%Y' % (
d.hour % 12 if d.hour % 12 else 12, d.day))
que retorna, por exemplo:
14h24 – 9 de janeiro de 2014