我必須讓兩個日期之間的簡單區別:如何評估年,月和日的日期差異(紅寶石)?
Date.parse("2009-06-20") - Date.today
這使我有日期的天數的差異。
任何人都知道一個方法可以輕鬆地將其轉換成以下格式:
The event occurred X years, Y months and Z days ago
謝謝。
我必須讓兩個日期之間的簡單區別:如何評估年,月和日的日期差異(紅寶石)?
Date.parse("2009-06-20") - Date.today
這使我有日期的天數的差異。
任何人都知道一個方法可以輕鬆地將其轉換成以下格式:
The event occurred X years, Y months and Z days ago
謝謝。
我不知道任何標準,正確的方式做到這一點的。看起來很奇怪,標準的Ruby庫有一個Date類但沒有DateSpan功能。 Rails有一個解決方案,但是對於我來說,要求這整個龐然大物完成這樣一項微不足道的任務讓我覺得有些痛苦。
這是天,小時,秒差異的例子。添加您需要的字段。
def calculate_difference
minutes = (Date.parse("2009-06-20") - Date.today).to_i/60
days = minutes/(24*60)
minutes -= days * 24*60
hours = minutes/60
minutes -= hours * 60
"#{days}d#{hours}h#{minutes}m"
end
有一個RubyGem返回在{哈希時差:年= > 0,:月=> 0,...}
錯字? Y個月? – ghoppe 2010-06-21 22:47:36
[更精確distance_of_time_in_words]的可能重複(http://stackoverflow.com/questions/1224613/more-precise-distance-of-time-in-words) – 2010-06-22 01:17:25