如果你不比较当前时间,你可以继续使用distance_of_time_in_words
快速提问。我使用distance_of_time_in_words帮助器来检查创建对象的天数。这工作得很好,但我不希望它必须去24小时才算一天,但希望它计数"1"天一旦它是"00:00"
eg distance_of_time_in_words("2016-08-11 11:00", "2016-08-12 00:00")应该是1天,但实际是13小时
我想,一旦它通过"00:00",它应该算作1天?
您可以使用
time_ago_in_words(date_item_was_created.at_midnight)
time_ago_in_words允许您放弃添加"现在"时间*,并通过将创建的日期移回午夜,您将越过一天的标记在接下来的午夜。根据API文档,对于超过一天的任何事情,它应该给你"圆"天,这听起来像是你想要的。
我猜这就是你的意思。
def distance_of_time_in_words(time1,time2)
d1 = Time.parse(time1.to_s).to_date.strftime("%d").to_i
d2 = Time.parse(time2.to_s).to_date.strftime("%d").to_i
seconds = Time.parse(time2.to_s)- Time.parse(time1.to_s)
hours = seconds/3600
if d2-d1 >= 1
return "#{(d2-d1).to_s} days"
else
return "#{hours.to_s} hours"
end
end