«Назад» функции даты / времени в Ruby / Rails - PullRequest
86 голосов
/ 19 июля 2010

Мне было интересно, есть ли способ в Rails для вычисления метки времени, например: полминуты назад, 2 минуты назад, 1 день назад и т. Д. Что-то вроде твиттера даты в реальном времени.

Я хочу знать, есть ли в Ruby / Rails встроенная функция для такого преобразования даты и времени?

Ответы [ 3 ]

171 голосов
/ 19 июля 2010

Вы можете использовать:

10.minutes.ago
2.days.since

Или, по вашему мнению, у вас есть помощники:

distance_of_time_in_words(from_time, to_time)
time_ago_in_words(from_time)

Проверьте API для получения подробной информации и дополнительных параметров.

8 голосов
/ 20 сентября 2016

Вы можете использовать доступные методы, чтобы получить время в прошлом или будущем, используя 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 

Проверьте все доступные методы в Время Класс

1 голос
/ 31 мая 2017

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...