我有一个ActiveRecord模型,其中一些属性存储在MySQL中DATE
s。在Ruby中,它们显示为Date
s。
我怎么能发现它们相隔多少天,假设2011年3月3日是2011年3月4日之后的一天,距离3月5日还有两天等等。
另外,我需要了解它们与当前日期相隔多少天。
答案 0 :(得分:1)
使用distance_of_time_in_words
帮助程序:
distance_of_time_in_words(date1, date2)
如果你想要更高的准确度,我写了一个名为dotiw
的宝石,它允许这样的东西:
distance_of_time_in_words(date1, date2, false, :only => ["days"]
答案 1 :(得分:1)
在环顾四周后,我想出了这个......
(obj.arrival_date - obj.departure_date).floor.abs
# => How many days apart.
和...
(obj.arrival_date - Date.today).floor.abs
基于实验,它似乎有效,虽然我不是100%肯定它总是正确的。
答案 2 :(得分:0)
Date.new(2001,2,3) - Date.new(1999,2,3)
将给出天数