in Ruby Vous pouvez avoir Aussi, comment puis-je convertir 8.Weeks code> de type ActiveSupport :: Durée Code>. Comment puis-je convertir cela en chaîne '8 semaines' code> facilement? De préférence sans faire les mathématiques de convertir des semaines en secondes, divisez-le par le nombre de secondes en une semaine. P>
50.days code> en chaîne '7 semaines et 1 jour' code> facilement? Notez que je n'utilise pas "mois" ici, de préférence de préférence sans effectuer un calcul de secondes en mathématiques. P>
3 Réponses :
Dans Ruby, vous pouvez avoir 8.Weeks qui est de type ActiveSupport :: Durée. P>
Ceci n'est pas implémenté par Ruby mais un patch de singe fourni par ActiveSupport. P>
Comme vous utilisez déjà ActiveSupport, je m'attends à utiliser cela en combinaison avec des rails. Vous pouvez utiliser le
Distang_of_Time_in_Words code> Aide. C'est une aide de vue donc c'est un peu une douleur. P>xxx pré> Si vous avez besoin de plus de détails, consultez les implémentations et adaptez vos besoins. En fonction de vos besoins, vous devrez peut-être gérer également I18N ainsi de manière aussi compliquée. P>
dans une console de rails
pour la première partie: p>
pour la deuxième partie: p>
8.Weeks.Inspect # => "8 semaines" code> p>
((50.days / 1.week) .Weeks + (50.days% 1.week))) Inspectez # => "7 semaines et 1 jour" p> p> p> p> P> P>
Merci. C'est exactement la réponse que je cherche! Je ne sais pas pourquoi les mandarins auto-nommés ont clôturé cette question!