Existe-t-il une gemme ruby qui formatera les dates par rapport à l'heure actuelle? Je veux sortie comme « Demain à 17 heures », « jeudi la semaine prochaine à 17h15 », je ne suis pas trop préoccupé par la sortie exacte, aussi longtemps que c'est des dates relatives en langage naturelFormat des dates relatives
5
A
Répondre
7
si vous avez des rails, Je pense que ActionView::Helpers::DateHelper#distance_of_time_in_words aide cela.
require 'rubygems'
require 'action_view'
include ActionView::Helpers::DateHelper
from_time = Time.now
distance_of_time_in_words(from_time, from_time + 50.minutes) # => about 1 hour
distance_of_time_in_words(from_time, 50.minutes.from_now) # => about 1 hour
distance_of_time_in_words(from_time, from_time + 15.seconds) # => less than a minute
distance_of_time_in_words(from_time, from_time + 15.seconds, true) # => less than 20 seconds
distance_of_time_in_words(from_time, 3.years.from_now) # => over 3 years
distance_of_time_in_words(from_time, from_time + 60.hours) # => about 3 days
distance_of_time_in_words(from_time, from_time + 45.seconds, true) # => less than a minute
distance_of_time_in_words(from_time, from_time - 45.seconds, true) # => less than a minute
distance_of_time_in_words(from_time, 76.seconds.from_now) # => 1 minute
distance_of_time_in_words(from_time, from_time + 1.year + 3.days) # => about 1 year
distance_of_time_in_words(from_time, from_time + 4.years + 9.days + 30.minutes + 5.seconds) # => over 4 years
to_time = Time.now + 6.years + 19.days
distance_of_time_in_words(from_time, to_time, true) # => over 6 years
distance_of_time_in_words(to_time, from_time, true) # => over 6 years
distance_of_time_in_words(Time.now, Time.now) # => less than a minute
En cas de rapport à l'heure actuelle, utilisez distance_of_time_in_words_to_now
au lieu de distance_of_time_in_words
. Si votre application est basée sur des rails, utilisez distance_of_time_in_words
, distance_of_time_in_words_to_now
, time_ago_in_words
dans la vue.
-3
essayer la gemme « chronique »
il fait exactement ce que vous demandez.
+1
chronique semble faire le contraire: elle analyse les temps, elle ne les met pas en forme. –
Juste ce dont j'ai besoin, mais ne pas utiliser des rails :(Toute idée si les composants Rails sont disponibles en dehors des rails –
Je pense que le code ci-dessus fonctionnera sans rails, après l'installation pack action (gem install actionpack), mais pas chronique – unsouled
@unsouled - Confirmée – steenslag