Rails几天的文章年龄?

时间:2014-04-25 15:26:51

标签: ruby-on-rails ruby ruby-on-rails-4

我需要在几天内获得文章的年龄。例如,该文章写在Tue, 01 Apr 2014 18:31:07 EDT -04:00上,现在我需要从该日期到现在打印为整数的日期。我怎么能这样做?

3 个答案:

答案 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等。