11
votes

Ruby Strftime: journée sans mener zéro,% e ne fonctionne pas

J'essaie de formater une date avec une journée sans le zéro dirigeant

avec% d Cela fonctionne bien, mais avec un zéro dirigeant xxx i Googled et J'ai constaté que je devrais utiliser% e au lieu de% d, mais que ce qui suit me donne une chaîne vide. xxx

Est-ce que cela a quelque chose à voir avec la version de Ruby? J'utilise V1.8.7 sur une machine Windows. Et plus important, y a-t-il une autre façon d'accomplir une journée sans mener zéro (plus pratique puis GSUB)?


0 commentaires

5 Réponses :


3
votes

J'ai déjà eu des problèmes avec StrfTime sur Windows ne prenant pas en charge les mêmes codes que sur UNIX.

Aussi, j'ai exécuté ce qui suit sur Mac OS X: P>

> date_time.strftime("%e/%m/%y")
" 3/03/11" 


0 commentaires

1
votes

Essayez ceci xxx


1 commentaires

Les espaces avant 0 et \ 1 sont faux. Cela ressemble également à une solution trop crue et brute.



9
votes

comme une option: xxx


0 commentaires

1
votes

Malheureusement, le % E code> laisse toujours un espace à la place du 0. Si vous ne voulez pas que l'espace, je voudrais simplement éliminer le début 0 comme ça.

> date_time.strftime("%d/%m/%y").gsub(/^0/, '')
"7/12/12"


0 commentaires

31
votes

Si vous souhaitez laisser tomber le premier point zéro pendant un mois ou un jour, ajoutez simplement un signe moins en face du format, comme celui-ci: XXX


2 commentaires

Merci pour cela :) Par curiosité, où avez-vous trouvé cette information utile?


été longtemps depuis que je suis allé à travers mes remarques. un très long temps. Mais à la question de savoir comment je nouveau cela. Cela fonctionne de cette façon pour la commande de date UNIX. "Date" +% - y.% - m.% - d.% - h.% - m.% - s '"