我必须让两个日期之间的简单区别:如何评估年,月和日的日期差异(红宝石)?
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