-2
votes

Comment convertir facilement 8 points de vue en "8 semaines" dans Ruby?

in Ruby Vous pouvez avoir 8.Weeks de type ActiveSupport :: Durée . Comment puis-je convertir cela en chaîne '8 semaines' 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.

Aussi, comment puis-je convertir 50.days en chaîne '7 semaines et 1 jour' 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.


0 commentaires

3 Réponses :


0
votes

Dans Ruby, vous pouvez avoir 8.Weeks qui est de type ActiveSupport :: Durée.

Ceci n'est pas implémenté par Ruby mais un patch de singe fourni par ActiveSupport.

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 Aide. C'est une aide de vue donc c'est un peu une douleur. xxx

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.

https://github.com/rail/rails/blob/master/actionview/lib/action_view/helpers/date_helper.rb#L95


0 commentaires

0
votes

dans une console de rails xxx


0 commentaires

3
votes

pour la première partie:

8.Weeks.Inspect # => "8 semaines"

pour la deuxième partie:

((50.days / 1.week) .Weeks + (50.days% 1.week))) Inspectez # => "7 semaines et 1 jour"


1 commentaires

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!