Мне было интересно, есть ли в Rails способ вычислить отметку времени, например, полминуты назад, 2 минуты назад, 1 день назад и т. Д. Что-то вроде отметки даты в реальном времени в Twitter.
Я хочу знать, есть ли в Ruby / Rails встроенная функция для такого преобразования даты и времени?
ruby-on-rails
ruby
datetime
Капсо
источник
источник
10.minutes.ago
вместо минут.require 'active_support'
(по крайней мере, если установлен Rails 2.X).Вы можете использовать доступные методы , чтобы получить время в прошлом или будущем , используя
ago
,since
псевдоним дляfrom_now
и множества доступных методовTime.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
Проверьте все доступные методы в классе Time
источник
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
источник