Подтвердить что ты не робот

Как вы вычтите из даты и времени?

Я хотел бы написать простую функцию, чтобы сказать через несколько часов:

Сколько времени прошло с момента создания?

Мои попытки:

-time = DateTime.now.hour - (self.created_at.hour)

Кто-нибудь знает, как это сделать в Ruby on Rails?

4b9b3361

Ответ 1

Rails обычно использует Time, а не DateTime. Почему бы вам не сделать Time.now - self.created_at? Затем вы можете конвертировать от секунд до часа, разделив их на 3600.

Ответ 2

Получил!. Сначала вы должны убедиться, что ваши данные в одних и тех же данных будут вычтены из того, будет ли это время или дата. Я выбрал время. Затем вы разделите его на Ruby, построенный во времени методами. Это означает, сколько дней, но это также может быть, 1.hour. и др.

(Time.now - self.created_at.to_time)/1.day

Ответ 3

Вы ищете функцию time_ago_in_words (from_time, include_seconds = false). Вот несколько примеров из документов:

time_ago_in_words(3.minutes.from_now)       # => 3 minutes
time_ago_in_words(Time.now - 15.hours)      # => 15 hours
time_ago_in_words(Time.now)                 # => less than a minute
from_time = Time.now - 3.days - 14.minutes - 25.seconds     # => 3 days