我有一個ActiveRecord模型,其中一些屬性存儲在MySQL中作爲DATE
s。在Ruby中,它們顯示爲Date
s。我怎樣才能找到兩個日期相隔多少天?
我怎樣才能發現他們多少天都相隔,假設像2011年3月3日是相隔一天內,從2011年3月4日,開的兩個天從3月5日,等
而且,我需要找到他們離現在的日期有多少天。
我有一個ActiveRecord模型,其中一些屬性存儲在MySQL中作爲DATE
s。在Ruby中,它們顯示爲Date
s。我怎樣才能找到兩個日期相隔多少天?
我怎樣才能發現他們多少天都相隔,假設像2011年3月3日是相隔一天內,從2011年3月4日,開的兩個天從3月5日,等
而且,我需要找到他們離現在的日期有多少天。
Date.new(2001,2,3) - Date.new(1999,2,3)
會給天
的數目使用distance_of_time_in_words
幫手:
distance_of_time_in_words(date1, date2)
如果你想要更高的精度,我寫了一個叫dotiw
寶石,這將允許這樣的事情:
distance_of_time_in_words(date1, date2, false, :only => ["days"]
環顧四周有點經過我想出了這個...
(obj.arrival_date - obj.departure_date).floor.abs
# => How many days apart.
而且......
(obj.arrival_date - Date.today).floor.abs
基於實驗,它似乎工作,雖然我不是百分之百肯定它將永遠是正確的。
你想用這些距離做什麼? ActiveSupport有一個[很多數量更多的重點日期/時間助手](http://api.rubyonrails.org/classes/Date.html),可能會解決您的基本問題 – Nevir
謝謝。很高興知道未來的參考。 – Ethan