我需要在几天内获得文章的年龄。例如,该文章写在Tue, 01 Apr 2014 18:31:07 EDT -04:00
上,现在我需要从该日期到现在打印为整数的日期。我怎么能这样做?
答案 0 :(得分:0)
使用Date类可以
(Date.today - @article.created_at.to_date).to_i
获取两个日期之间的天数。
答案 1 :(得分:0)
请尝试这样的事情:
gem install time_diff
安装gem。
require 'time_diff'
time_diff_components = Time.diff(start_date_time, end_date_time)
time_diff_components[:year], time_diff_components[:month], time_diff_components[:week]
这将提供更多选择。
更多细节click
答案 2 :(得分:0)
这不是最聪明的方式,但它可能是最简单的方法:使用“神奇数字”: 86400 ,这是一天中的秒数。 (你可能已经知道一小时内有3600秒,精神上提交这个数字)
Time / DateTime对象之间的差异将以秒为单位(作为浮点数)。如果将此除以86400,则得到天数的差异,作为浮点数。然后,您可以在此处调用to_i,以便在需要时将其作为整数。
例如
((Time.now - @article.created_at)/86400).to_i
为避免错误输入,可能值得将其保存为常量,例如SECONDS_IN_A_DAY等。