快速提问。我使用distance_of_time_in_words帮助程序来检查对象的创建天数。这样可以正常工作,但我不希望它在它计算一天之前必须进行24小时但是希望它计算在内#34; 1"一旦它是" 00:00"
例如distance_of_time_in_words(" 2016-08-11 11:00"," 2016-08-12 00:00")应该是1天但是13小时
我希望它一旦通过" 00:00"它应该算作1天?
答案 0 :(得分:2)
您可以使用
time_ago_in_words(date_item_was_created.at_midnight)
time_ago_in_words允许您放弃添加“现在”时间*并通过将创建日期移回午夜,您将跨越一天标记 在下一个午夜。根据{{3}},它应该为你提供一天中任何一天的'轮'天,听起来就像你所追求的那样。
*如果您没有与当前时间进行比较,可以继续使用distance_of_time_in_words。
答案 1 :(得分:0)
这就是我猜的意思。
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