Je me demandais s'il y avait un moyen dans Rails de calculer l'horodatage comme - il y a une demi-minute, il y a 2 minutes, il y a 1 jour, etc. Quelque chose comme l'horodatage en temps réel de Twitter.
Je veux savoir si Ruby / Rails a une fonction intégrée pour une telle conversion date-heure?
ruby-on-rails
ruby
datetime
kapso
la source
la source
10.minutes.ago
au lieu de minutes.require 'active_support'
(au moins si Rails 2.X est installé).Vous pouvez utiliser les méthodes disponibles pour obtenir l'heure passée ou future en utilisant
ago
,since
alias pourfrom_now
et de nombreuses méthodes disponiblesTime.current #=> Tue, 20 Sep 2016 15:03:30 UTC +00:00 2.minutes.ago #=> Tue, 20 Sep 2016 15:01:30 UTC +00:00 2.minutes.since #=> Tue, 20 Sep 2016 15:05:30 UTC +00:00 1.month.ago #=> Sat, 20 Aug 2016 15:03:30 UTC +00:00 1.year.since #=> Wed, 20 Sep 2017 15:03:30 UTC +00:00
Vérifiez toutes les méthodes disponibles dans la classe Time
la source
distance_of_time_in_words :
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, include_seconds: true) # => less than 20 seconds
time_ago_in_words :
time_ago_in_words(3.minutes.from_now) # => 3 minutes time_ago_in_words(3.minutes.ago) # => 3 minutes time_ago_in_words(Time.now - 15.hours) # => about 15 hours
la source