Me preguntaba si hay una forma en Rails de calcular la marca de tiempo como: hace medio minuto, hace 2 minutos, hace 1 día, etc. Algo como la marca de fecha en tiempo real de Twitter.
Quiero saber si Ruby / Rails tiene una función incorporada para dicha conversión de fecha y hora.
ruby-on-rails
ruby
datetime
kapso
fuente
fuente
10.minutes.ago
lugar de minutos.require 'active_support'
(al menos si está instalado Rails 2.X).Puede utilizar los métodos disponibles para obtener el tiempo en pasado o futuro uso
ago
,since
alias parafrom_now
y muchos métodos 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
Consulta todos los métodos disponibles en la clase Time.
fuente
distancia_de_tiempo_en_palabras :
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
fuente