Разница во времени в часах

Я пытаюсь получить разницу в часах для двух разных экземпляров Time. Я получаю эти значения из БД как столбец: datetime

Как я могу сделать это, чтобы он включал месяцы и годы, а также в вычислениях, игнорируя или округляя минуты? Можно ли это сделать только вручную или есть функция для этого?

Ответ 1

((date_2 - date_1) / 3600).round

или

((date_2 - date_1) / 1.hour).round

Ответ 2

Попробуйте разницу по времени для Ruby на https://rubygems.org/gems/time_difference

start_time = Time.new(2013,1)
end_time = Time.new(2014,1)
TimeDifference.between(start_time, end_time).in_years

Ответ 3

это отлично работает, пример за количество часов с момента создания учетной записи пользователя

(Time.parse(DateTime.now.to_s) - Time.parse(current_user.created_at.to_s))/3600

Ответ 4

Вы можете использовать драгоценный камень под названием time_diff, чтобы получить разницу во времени в очень полезных форматах

Ответ 5

Вы можете использовать метод Rails distance_of_time_in_words

distance_of_time_in_words(starting_time, ending_time, options = {include_seconds: true })