Rôm*_*con 135
((date_2 - date_1) / 3600).round
Run Code Online (Sandbox Code Playgroud)
要么
((date_2 - date_1) / 1.hour).round
Run Code Online (Sandbox Code Playgroud)
小智 18
在https://rubygems.org/gems/time_difference上尝试Ruby的Time Difference gem
start_time = Time.new(2013,1)
end_time = Time.new(2014,1)
TimeDifference.between(start_time, end_time).in_years
Run Code Online (Sandbox Code Playgroud)
Din*_*eic 12
这非常有用,例如自用户创建帐户以来的小时数
(Time.parse(DateTime.now.to_s) - Time.parse(current_user.created_at.to_s))/3600
Run Code Online (Sandbox Code Playgroud)
Rails 6.1 引入了新的ActiveSupport::Duration转换方法,例如in_seconds、in_minutes、in_hours、in_days、in_weeks、in_months和in_years。
因此,现在您的问题可以这样解决:
date_1 = Time.parse('2020-10-19 00:00:00 UTC')
date_2 = Time.parse('2020-10-19 03:35:38 UTC')
(date_2 - date_1).seconds.in_hours.to_i
# => 3
Run Code Online (Sandbox Code Playgroud)
这是相应 PR 的链接。