Distance_of_time_in_words

时间:2013-03-16 05:45:00

标签: ruby-on-rails ruby datetime

我正在使用distance_of_time_in_words扩展的gem dotiw,如下所示:

<%= distance_of_time_in_words(@client.report_missing_after.days, Date.today, false, except: ["hours","minutes"])  %>

如果@client.report_missing_after等于7,则上述代码将返回&#34; 7天&#34;正如所料。如果@client.report_missing_after等于1-28,这可以正常工作,但是当我突然达到29时,输出看起来像:

87847649280000 years and 238878720000 days

这是不正确的。

我无法弄清楚我在哪里出错了。帮助

更新:

根据评论,我只是试图将第一个参数作为整数传递,但它仍然无效:

<%= distance_of_time_in_words(29.days ,0, false, except: ["hours","minutes"]) %>

2 个答案:

答案 0 :(得分:0)

您是否尝试过明确地传递这些日子?

29.days

var.days

答案 1 :(得分:0)

当你正确使用distance_of_time_in_words时,它变得更好,而且正确地说,我的意思是时间戳而不是日期时间对象。

最终为我工作的是:

<%= distance_of_time_in_words(Time.now, Time.now+29.days, false, except ["hours","minutes"]) %>