335 votes

Strftime python - date sans zéro 0 ?

Lorsque vous utilisez Python , est-il un moyen de supprimer le premier 0 la date si elle est devant le 10, c’est à dire. sorte est ? Impossible de trouver un truc pour ça ?

Merci !

669voto

Ryan Points 1231

En fait, j’ai eu le même problème et j’ai réalisé que, si vous ajoutez un trait d’Union entre la `` et la lettre, vous pouvez supprimer le zéro non significatif.

Par exemple `` .

Fonctionne sur Linux uniquement.

203voto

mgilson Points 92954

Nous pouvons faire ce genre de chose avec l’avènement de la `` méthode depuis python2.6 :

42voto

Alex Martelli Points 330805

Certaines plates-formes peuvent prendre en charge la spécification de la largeur et de précision entre et la lettre (tels qu’avaient ' jour du mois), selon [http://docs.python.org/library/time.html](http://docs.python.org/library/time.html) --mais c' est certainement une solution non portable (par exemple ne fonctionne pas sur mon Mac ;-). Vous pouvez peut-être utiliser une chaîne de remplacement (ou RE, pour le format vraiment méchant) après le à remédier à cette situation ? par exemple :

36voto

gdw2 Points 1318
>>> import datetime
>>> d = datetime.datetime.now()
>>> d.strftime('X%d/X%m/%Y').replace('X0','X').replace('X','')
'5/5/2011'

33voto

newacct Points 42530

Ici est la documentation de la modificateurs pris en charge par strftime() dans la bibliothèque C de GNU. (Comme les gens ont dit avant, il pourrait ne pas être portable.) D'intérêt pour vous peut-être:

  • %e au lieu de %d remplacera zéro en jour, de mois avec un espace

Il fonctionne sur mon Python (sur Linux). Je ne sais pas si cela va fonctionner sur le vôtre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X