我使用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
,上面的代码将如预期的那样返回"7 Days"。如果@client.report_missing_after
等于1-28,这可以正常工作,但是,当我达到29时,突然输出看起来像:
87847649280000 years and 238878720000 days
是不正确的。
我不知道我哪里出错了。帮助吗?
更新:根据注释,我只是试图将第一个参数作为整数传递,但它仍然不起作用:
<%= distance_of_time_in_words(29.days ,0, false, except: ["hours","minutes"]) %>
您是否尝试过明确地通过日期?
29.days
var.days
当您正确使用distance_of_time_in_words时,结果会更好,我的意思是使用时间戳而不是日期时间对象。
这就是我最终的工作:
<%= distance_of_time_in_words(Time.now, Time.now+29.days, false, except ["hours","minutes"]) %>