假设我从我的用户模型创建了两个时间对象:
created = u.created_at
updated = u.updated_at
我该如何计算两个时间对象之间的小时差?
hours = created - updated
我想将这个功能封装在一个方法中并扩展Time类。我很难相信我需要扩展它,但我似乎找不到一个原生的方法来处理使用不同时间单位计算经过的时间。
假设我从我的用户模型创建了两个时间对象:
created = u.created_at
updated = u.updated_at
我该如何计算两个时间对象之间的小时差?
hours = created - updated
我想将这个功能封装在一个方法中并扩展Time类。我很难相信我需要扩展它,但我似乎找不到一个原生的方法来处理使用不同时间单位计算经过的时间。
另一个选择是使用distance_of_time_in_words助手:
<%= distance_of_time_in_words u.created_at, u.updated_at %>
希望您觉得这很有用 :)
distance_of_time_in_words
的情况下使用它,例如在控制台中,您可以使用以下代码进行导入:include ActionView::Helpers::DateHelper
。 - Joshua Pinter我想使用Rails特有的方法添加另一种答案。Time类有一个名为minus_with_coercion的方法。它比较两个时间并以秒为单位返回结果。
hours=(created.minus_with_coercion(updated)/3600).round